Skip to content

Instantly share code, notes, and snippets.

@madhur
Created October 26, 2017 11:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save madhur/953e04ba8d3a98eebe7128465989695f to your computer and use it in GitHub Desktop.
Save madhur/953e04ba8d3a98eebe7128465989695f to your computer and use it in GitHub Desktop.
DeltaEncoding
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
public static void main(String args[] ) throws Exception {
Scanner scan = new Scanner(System.in);
ArrayList<Integer> numbers = new ArrayList<Integer>();
ArrayList<Integer> output = new ArrayList<Integer>();
while(true) {
try {
Integer line = scan.nextInt();
//System.out.println(line);
numbers.add(line);
}
catch(Exception e) {
break;
}
}
int prevNum=0;
int escapeToken = -128;
for(int i =0; i< numbers.size(); ++i) {
if(i==0) {
output.add(numbers.get(i));
prevNum = numbers.get(i);
} else {
int diff = numbers.get(i) - numbers.get(i-1);
if(diff<-127 || diff > 127) {
output.add(escapeToken);
}
// System.out.println("The diff is: " + diff);
output.add(diff);
}
}
for(Integer num: output) {
System.out.print(num + " ");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment