single number
来源:互联网 发布:云计算技术应用实例 编辑:程序博客网 时间:2024/06/10 00:13
数组中每个元素都出现两次,但是其中一个元素出现一次,求出此元素
class solution{public: int singlenumber(vecotor<int>&nums){ int x = 0; for(int i=0;i<nums.size()){ x^=nums[i]; }//题目使用到了,异或的特性,异或时可以去掉重复的元素 return x; }}
数组中每个元素都出现三次,其中一个元素出现一次,求出此元素
class solution{public: int singlenumber(vector<int>nums){ const int w = sizeof(int)*8;//求出有多少位 int count[w]; //fill_n(&count[0],w,0); for (int i = 0; i < nums.size(); i++){ for (int j = 0; j < w; j++) { //统计二进制位相对应的位置上是否为1 count[j] = count[j] + (nums[i] >> j) & 1; count[j] = count[j] % 3; } } int result = 0; for (int i = 0; i < w; i++) {//现在二进制数组中只剩下0或者1,然后第i个位置上存在1那么1就左移动多少位置 result += (count[i] << i); } return 0; }};/* 构建一个数组,数组大小为所对应的数字的位的最大值,然后统计每个位置上出现1的个数,然后将出现k次数的 对k取余,这样就可以将此数字给去掉,然后通过数组恢复此数字,每个位置上的1代表权重,然后对应位置上的 元素相左边移动k个位置即可。*/
阅读全文
0 0
- Single Number
- single number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- single number
- Single Number
- Single Number
- Single Number
- Cygwin-添加到右键菜单脚本--一键安装、卸载
- phpstudy安装pcntl扩展
- JSP学习(三)-----九大内置对象详解和四大作用域
- Android Studio中File对象的FileList()方法返回NULL的问题
- 若你是没信心的程序媛,说明你少了个引路人
- single number
- JAVA面向对象学习笔记(一)
- ContentProvider 使用方法详解
- 反射重要
- 记一次node编写爬虫的经历
- 轮播banner(自带小圆点)
- 算法分析与复杂性理论 第三题 Til the Cows Come Home
- 如何学习javaee在2017年
- mybatis的简单使用步骤