String compression (count runs)
Java
Medium
5 views
Problem Description
Task: compress chars by counting consecutive same characters. Return new length.
Output Format
Return value
Constraints
Write back into same array.
Official Solution
static int compress(char[] a){int n=a.length;int w=0;int i=0;while(i<n){char ch=a[i];int j=i;while(j<n && a[j]==ch) j++;a[w++]=ch;int cnt=j-i;if(cnt>1){int start=w;while(cnt>0){a[w++]=(char)('0'+(cnt%10));cnt/=10;}for(int l=start,r=w-1;l<r;l++,r--){char t=a[l];a[l]=a[r];a[r]=t;}}i=j;}return w;}
Solutions (0)
No solutions submitted yet. Be the first!
No comments yet. Start the discussion!