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

Class is a collection of similar objects. Which have common properties

Class is a collection of similar objects. Which have common properties. Syntax class class_name {        //member functions and variables. } How to create a objects for class class_name c=new class_name; We can access the member variable and member methods using dot operator. c.member_function(); Eg : class bike { void fun() { System.out.println("member method"); } public static void main(String[] args) { bike B=new bike(); B.fun(); } } output member method

Height Of Tree-Using Java Programming

  class node{ int data; node left; node right; node( int data){ this .data=data; } } class treeHeight{ node root; treeHeight(){ root= null ; } public static void main( String [] args){ treeHeight t=new treeHeight(); t.insert( 15 ); t.insert( 20 ); t.insert( 10 ); t.insert( 5 ); t.insert( 2 ); System.out.println(t.height(t.root)); } public void insert( int data){ root=addNode(root,data); } public node addNode(node root, int data){ if (root== null ){ return new node(data); } else if (root.data<data){ root.right=addNode(root.right,data); } else if (root.data>data){ root.left=addNode(root.left,data); } else { return root; } return root; } /* 15,20,10,5 Regression Is Used To Divide a Hu...