Medium 136题 Single Number
来源:互联网 发布:apache 配置https证书 编辑:程序博客网 时间:2024/05/29 09:48
题目:
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?
首先想到的是下面的暴力解法,也调试了半天,而且复杂度太可怕了,flaga用于记录是否遍历到了该元素,flag用于记录该大循环中有无相等的,而且首先没考虑到[2,2,1]这种情况。
<pre name="code" class="cpp">class Solution {public: int singleNumber(vector<int>& nums) { vector <int> flaga(nums.size(),0); int result; int i,j; int flag=0; for(i=0;i<=nums.size()-1;i++) { if(flaga[i]!=1) { for(j=i+1;j<=nums.size()-1;j++) { if(nums[i]==nums[j]) { flaga[j]=1; flag=1; break; } } if(flag!=1) { result=nums[i]; break; } flag=0; } } return result; }};
然后就是又参考了网上采用异或的解法。。。人家轻松linear复杂度。。异或
class Solution {public: int singleNumber(vector<int>& nums) { int result=0; for(int i=0;i<nums.size();i++) result=result^nums[i]; return result; }};
另外通过查阅资料还发现了一个小tip 在for循环中++i比i++要快!参考博客http://blog.csdn.net/zy1691/article/details/4849808
0 0
- Medium 136题 Single Number
- [LeetCode] 136--Single Number --Medium--
- [Leetcode 136, Medium] Single Number I
- [Medium]Single Number III
- 136. Single Number [medium] (Python)
- 136. Single Number Difficulty: Medium
- [Leetcode 137, Medium] Single Number II
- 【LeetCode】(137)Single Number II(Medium)
- 【LeetCode】(260)Single Number III(Medium)
- [LeetCode] 137--Single Number II --Medium--
- 136.LeetCode Single Number(medium)[数组 单数]
- 260. Single Number III [medium] (Python)
- Leetcode 136. Single Number (Medium) (cpp)
- Leetcode 137. Single Number II (Medium) (cpp)
- 260. Single Number III 难度:medium
- 137. Single Number II 难度:medium
- Leet Code OJ 136. Single Number [Difficulty: Medium]
- Leet Code OJ 260. Single Number III [Difficulty: Medium]
- OpenJ_Bailian - 4120
- linux上怎么快速删除一个目录
- 一致性哈希算法(consistent hashing)
- Swift的重点笔记(基本语法)
- 第8课:零基础实战Scala最常用数据结构Map和Tuple及Spark源码鉴赏
- Medium 136题 Single Number
- HDU1231(DP)
- AJAX http请求 XMLHttpRequest
- 单片机引脚控制继电器最简单的电路方式
- 虚拟机下linux如何使用mount挂载cdrom
- JavaScript常用语法
- 一个集合去掉另一个集合中的内容,可以用来去停用词
- kmp算法原理详解
- 数塔最大值问题(DP)