生成特定长度的数组,要求对于任意的i<k<j,满足[i] + [j] != [k] * 2
public static int[] makeNo(int size){
if (size == 1){
return new int[] {1};
}
int halfSize = (size + 1) / 2;
int[] base = makeNo(halfSize);
int[] ans = new int[size];
int index = 0;
for(; index < halfSize; index++){
ans[index] = base[index] * 2 + 1;
}
for (int i = 0; index < size; index++, i++){
ans[index] = base[i] * 2;
}
return ans;
}