说明
偶然看见QQ群里有群友问了一句
于是说默默的写下了这篇文章…
直接上代码
JAVA语言核心实现
public List<Integer> other(int num) {
int sum = num % 2;
List<Integer> data = new ArrayList<>();
if (sum == 1) {
data.add(1);
}
for (int i = 1; i < 32; i++) {
int code = (num & (-((~0) << i)));
sum += code;
if (code > 0) {
data.add(code);
}
if (sum >= num) {
break;
}
}
return data;
}
调用测试
结果呈现
也不知道能否满足要求