摘要: 获得一个int数中二进制位为1 的个数intNumberOfOne(intn){intcount = 0;unsignedintflag = 1;while(flag){if(n& flag){count++;}flag = flag << 1;}returncount;}intNumberOfOne2(intn){intcount = 0;while(n){count++;n=n&(n- 1);}returncount;} 阅读全文
posted @ 2013-11-08 16:46 追梦的飞飞 阅读(212) 评论(0) 推荐(0)
摘要: 数组中,有一个元素的值在数组中重复的个数是超过一半,获得元素超过一半的元素值intMoreThanHalfNumber(int*arr,intn){intresult =arr[0];inttime = 1;for(inti = 1; i <n; i++){if(time == 0){result =arr[i];time = 1;}elseif(arr[i] == result){time++;}else{time--;}}returnresult;} 阅读全文
posted @ 2013-11-08 16:44 追梦的飞飞 阅读(155) 评论(0) 推荐(0)
摘要: 全排列思想: 这是一个全排列问题,需要使用递归实现,将数组中的所有元素和第一个元素交换,求后面n-1个元素的全排列。 按照这个条件递归下去,知道元素的个数只有一个的时候,输出所有的元素。#includeusingnamespacestd;inttotal = 0;voidperm(intarr[],intstart,intsize){if(start>=size){for(inti = 0; i <size; i++){cout <<arr[i] <<" ";}cout << endl;total++;//return;}el 阅读全文
posted @ 2013-11-08 16:43 追梦的飞飞 阅读(293) 评论(0) 推荐(0)