Single Number
来源:互联网 发布:淘宝体检中心打不开 编辑:程序博客网 时间:2024/06/05 16:02
Single Number
Given an array of integers, every element appears twice except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
Single Number II
Given an array of integers, every element appears three times except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
使用排序方法求解:
//通用性好,适合两种情况 int singleNumber(int A[], int n) { //特殊情况1,2 if(n<=0) return -1; if(n==1) return A[0]; sort(A, A + n); int j = 1; for(int i = 0; i < n - 1; i++) { if(A[i] == A[i+1]) j++; else { if(j<2) return A[i];//这里修改为j<3那么就可以适用于single number II了。 j = 1; } } //特殊情况3 最后一个是single number的特殊情况 return A[n-1]; }
使用map求解:
//2014-2-18 update int singleNumber(int A[], int n) { unordered_map<int, bool> ump_ii; for (int i = 0; i < n; i++) { if (!ump_ii.count(A[i])) ump_ii[A[i]] = true; else ump_ii.erase(A[i]); } return ump_ii.begin()->first; }
使用位运算求解:
//single number 1 int singleNumber(int A[], int n) { int ans = 0; for (int i = 0; i < n; i++) ans ^= A[i]; return ans; }
//single number 2int singleNumberII_36(int A[], int n){ int ans = 0; for (int i = 0; i < 32; i++) { int c = 0, d = 1<<i; for (int j = 0; j < n; j++) if (A[j] & d) c++; if (c%3) ans |= d; } return ans;}
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
- 12c 简单至极的静默方式创建数据库
- Project Euler:Problem 22 Names scores
- java内存堆和栈
- ERWin7.2在Windows 8.1中生成数据库遇到的问题!
- AdaBoost中利用Haar特征进行人脸识别算法分析与总结1——Haar特征与积分图
- Single Number
- HBase 常用Shell命令
- JQuery基础选择器及过滤选择器的用法,今天刚学,写一下加深印象
- 数据库还原失败System.Data.SqlClient.SqlError: 无法执行 BACKUP LOG,因为当前没有数据库备份
- opencv 2.4.4版本示例程序说明
- 如何指定让Android的NDK工具编译出Release版本或Debug版本的Native程序
- GDB使用教程
- RMAN将备份片分布在不同的挂载点
- iOS开发实战技巧