Skip to main content

Run Length Encoding | Programming In Java

 Given a string, Your task is to complete the function encode that returns the run-length encoded string for the given string.

eg if the input string is “wwwwaaadexxxxxx”, then the function should return “w4a3d1e1x6″.
You are required to complete the function encode that takes only one argument the string which is to be encoded and returns the encoded string.

Example 1:

Input:
str = aaaabbbccc
Output: a4b3c3
Explanation: a repeated 4 times
consecutively b 3 times, c also 3
times.

Example 2:

Input:
str = abbbcdddd
Output: a1b3c1d4

Your Task:
Complete the function encode() which takes a character array as an input parameter and returns the encoded string.

Expected Time Complexity: O(N), N = length of a given string.
Expected Auxiliary Space: O(1)

Constraints:
1<=length of str<=100




Solution:




import java.util.*;

 

class RLEncoding

{

   public static void main(String[] args) 

   {

 

      Scanner sc = new Scanner(System.in);

    

  int T = sc.nextInt();

  sc.nextLine();

  while(T>0)

  {

  

String str = sc.nextLine();

RLE g = new RLE();

System.out.println(g.encode(str));

      

        T--;

  }

   }

}


// } Driver Code Ends



class RLE

 {

String encode(String str)

{

    int length = str.length();

    int i=0;

    char letter = str.charAt(i);

    int counter=1;

    String newString=""+letter;

    

    for(i=1;i<length;i++){

        if(letter!=str.charAt(i)){

            letter=str.charAt(i);

            newString = newString+counter+letter;

            counter=1;

        }else{

            counter++;

        }

    }

    return newString+counter;

          //Your code here

}

 }



Comments

Popular posts from this blog

LPS(Longest Prefix Which Is Also Suffix) Array Generation Using Java

import java.util.* ; //Longest Prefix Which Is Also Suffix Which Is Used To Found a Pattern Through Avoid Repeated Characters in Given String. We Will Discuss KMP ALGORITHM TO Find A Pattern In Given String Latter. class lbs{ public static void main( String [] args){ Scanner in= new Scanner(System.in); //Get Input From User String s=in.nextLine(); //Convert String Into Char Array char [] ch=s.toCharArray(); int n=s.length(); int [] lbsArr= new int [n]; int j= 0 ,i= 1 ; lbsArr[ 0 ]= 0 ; //LPS ARRAY ALGORITHM /* i=1; j=0; string s="aaab" while i<n if s[i]==s[j]: lpsArr[i]=j; j=j+1 i=i+1 else: if j==0: lbsArr[j]=0 i=i+1 else: ...

Constructor - Basic Java Programming

constructor is a spacial member function of class. member function name and class name should be same is called constructor. it execute when object is initialize for that class. Eg: class A { void A() { System.out.println("constructor called"); } public static void main(String[] args) { A a=new A(); } } output: constructor called From the above Java code contains one class named as "A".then the class have two member functions one is "A()" and another one is "main()".Now the Member Function name and class name should be same its called as constructor.We initialize the object for class A inside the main method.then the constructor automatically executed. Types Of Constructor 1.Simple Constructor 2. Parameterized Constructor Simple Contractor The Constructor Does Not Pass Parameters. Parameterized Constructor The Constructor Pass Parameters. eg: class A { void A(int a) { System.out.println("Parameterized Constructor : ...