Run Length Encoding is a form of lossless data compression in which runs of data are stored as a single data value and count, rather than as the original run.
import java.util.*; class RLEChallange { public static void main(String args[]) { Scanner sc=new Scanner(System.in); String strin,strout=""; int count,i,j; System.out.println("Enter String "); strin=sc.nextLine(); i=0; j=0; while(i<strin.length()) { count=1; j=i+1; while(j<strin.length() && strin.toLowerCase().charAt(i)==strin.toLowerCase().charAt(j)) { count++; j++; } strout=strout+count+strin.charAt(i); i=j; } System.out.println("\n\nInPut "+strin); System.out.println("OutPut "+strout); } }
- Output
Enter String AABCCAAA InPut AABCCAAA OutPut 2A1B2C3A Enter String AAAVVVTYUUUIIIII InPut AAAVVVTYUUUIIIII OutPut 3A3V1T1Y3U5I