第十三题
- 功能描述:找出一个int[]中满足 2^n的数字,然后组成的新的数组
- 输入:{4,3,8}
- 输出:{4,8}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test {
public static void main(String[] args) {
int[] a = {4, 3, 8, 3, 4, 45, 56, 16};
Arrays.stream(getNum(a)).forEach(System.out::println);
}
public static int[] getNum(int[] arrIn) {
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < arrIn.length; i++) {
int tmp = arrIn[i];
while (tmp != 2) {
if (tmp % 2 == 0) {
tmp /= 2;
} else {
break;
}
}
if (tmp == 2) {
list.add(arrIn[i]);
}
}
int[] result = new int[list.size()];
for (int i = 0; i < result.length; i++) {
result[i] = list.get(i);
}
return result;
}
}