/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
// your code goes here
}
}
class Solution {
public ArrayList<Integer> wave(ArrayList<Integer> A) {
ArrayList<ComparableInt> waveComp = new ArrayList<>();
for (int i = 1; i < A.size(); i++) {
if (i % 2 == 0) { waveComp.add(new ComparableInt(A.get(i-1), true)); }
else { waveComp.add(new ComparableInt(A.get(i-1), false)); }
}
List<Integer> order = waveComp.stream().map(ComparableInt::getNum).collect(Collectors.toList());
return A;
}
}
class ComparableInt implements Comparable<ComparableInt> {
ComparableInt
(Integer num,
boolean reverse
) { this.num = num;
this.reverse = reverse;
}
public Integer getNum
() { return num
; }
public int compareTo(ComparableInt other) {
if (reverse) return other.getNum().compareTo(num);
return num.compareTo(other.getNum());
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCX0KfQoKY2xhc3MgU29sdXRpb24gewoJcHVibGljIEFycmF5TGlzdDxJbnRlZ2VyPiB3YXZlKEFycmF5TGlzdDxJbnRlZ2VyPiBBKSB7CgkgICAgQXJyYXlMaXN0PENvbXBhcmFibGVJbnQ+IHdhdmVDb21wID0gbmV3IEFycmF5TGlzdDw+KCk7CgkgICAgZm9yIChpbnQgaSA9IDE7IGkgPCBBLnNpemUoKTsgaSsrKSB7CgkgICAgICAgIGlmIChpICUgMiA9PSAwKSB7IHdhdmVDb21wLmFkZChuZXcgQ29tcGFyYWJsZUludChBLmdldChpLTEpLCB0cnVlKSk7IH0KCSAgICAgICAgZWxzZSB7IHdhdmVDb21wLmFkZChuZXcgQ29tcGFyYWJsZUludChBLmdldChpLTEpLCBmYWxzZSkpOyB9CgkgICAgfQoJICAgIENvbGxlY3Rpb25zLnNvcnQod2F2ZUNvbXApOwoJCUxpc3Q8SW50ZWdlcj4gb3JkZXIgPSB3YXZlQ29tcC5zdHJlYW0oKS5tYXAoQ29tcGFyYWJsZUludDo6Z2V0TnVtKS5jb2xsZWN0KENvbGxlY3RvcnMudG9MaXN0KCkpOwoJICAgIHJldHVybiBBOwoJfQp9CgpjbGFzcyBDb21wYXJhYmxlSW50IGltcGxlbWVudHMgQ29tcGFyYWJsZTxDb21wYXJhYmxlSW50PiB7CiAgICBJbnRlZ2VyIG51bTsKICAgIEJvb2xlYW4gcmV2ZXJzZTsKICAgIAogICAgQ29tcGFyYWJsZUludChJbnRlZ2VyIG51bSwgYm9vbGVhbiByZXZlcnNlKSB7CiAgICAgICAgdGhpcy5udW0gPSBudW07CiAgICAgICAgdGhpcy5yZXZlcnNlID0gcmV2ZXJzZTsKICAgIH0KICAgIAogICAgcHVibGljIEludGVnZXIgZ2V0TnVtKCkgeyByZXR1cm4gbnVtOyB9CiAgICAKICAgIHB1YmxpYyBpbnQgY29tcGFyZVRvKENvbXBhcmFibGVJbnQgb3RoZXIpIHsKICAgICAgICBpZiAocmV2ZXJzZSkgcmV0dXJuIG90aGVyLmdldE51bSgpLmNvbXBhcmVUbyhudW0pOwogICAgICAgIHJldHVybiBudW0uY29tcGFyZVRvKG90aGVyLmdldE51bSgpKTsKICAgIH0KfQo=