Indeed Interview Question
SDE-2sCountry: United States
public static String encode(int[] arr) {
if (arr == null || arr.length == 0) {
throw new IllegalArgumentException("input array is null or empty");
}
if (arr.length == 1) {
return Integer.toString(arr[0]);
}
int start = arr[0];
int end = arr[0];
StringBuilder sb = new StringBuilder();
for (int i = 1; i < arr.length; i++) {
if(arr[i] - arr[i-1] > 1) {
sb.append(start);
if (start != end) {
sb.append("-").append(end);
}
sb.append(",");
start = arr[i];
}
end = arr[i];
}
sb.append(start);
if (start != end) {
sb.append("-").append(end);
}
return sb.toString();
}
Delta encoding
- Nits August 16, 2019