问题描述:给定一个整型数组,写一个算法,找出其中所有的奇数。
Java实现:数组的每个元素和1进行&运算,结果是1表示该元素为奇数,结果是0表示该元素是偶数。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17/**
* @auth zhengzhi.ren
* @date 2015/8/6.
*/
public class FindOdd {
public static void main(String[] args) {
// 找出数组中所有奇数
int[] arr = {21,23,12,33,1,5,9};
int len = arr.length;
for (int i=0;i<len;i++) {
if ((arr[i] & 1) == 1) {
System.out.println("第" + i + "个数字是奇数, 值:" + arr[i]);
}
}
}
}
该算法时间复杂度是n,n为数组的长度。