Moving Stones Until Consecutive
分类讨论就可以了
class Solution {
public int[] numMovesStones(int a, int b, int c) {
int[] ary = new int[3];
ary[0] = a;
ary[1] = b;
ary[2] = c;
Arrays.sort(ary);
int min = 0;
if(ary[2] - ary[0] == 2) { // [1,2,3]
min = 0;
} else if((ary[1] - ary[0] == 2 || ary[2] - ary[1] == 2)) {// [1,3,10] , return 1, move 10 to 2,etc [1,8,10], move 1 to 9
min = 1;
} else if((ary[1] - ary[0] == 1 ^ ary[2] - ary[1] == 1)) {// [1,2,5], return 1, move 5 to 3. etc [1,3,4], move 1 to 2
min = 1;
} else { //
min = 2;
}
int max = (ary[1] - ary[0] - 1) + (ary[2] - ary[1] - 1);
return new int[]{min,max};
}
}