// A simple array example.
//
// Data Structures and Algorithms
// CS 305 & 503, Spring 2010
import java.util.Arrays;
class collapse {
private static int []
collapse(int a[], int x) {
// Suppress runs of x in a.
// collapse([0,0,1,1,0,0,0], 0) = [0,1,1,0]
final int n = a.length
int cpy [] = new int [n]
int next = 0, i = 0
while (i < n) {
cpy[next++] = a[i]
if (a[i++] == x)
while ((i < n) && (a[i] == x))
i++
}
return Arrays.copyOf(cpy, next)
}
public static void
main(String args[]) {
final int in [] = new int [] {0, 0, 1, 1, 0, 0, 0}
assert collapse(in, 0).equals(new int [] {0, 1, 1, 0})
assert collapse(in, 1).equals(new int [] {0, 0, 1, 0, 0, 0})
}
}
syntax highlighted by Code2HTML, v. 0.9.1