Single Number(leetcode)
来源:互联网 发布:软件授权协议 编辑:程序博客网 时间:2024/06/10 16:26
Single Number
- Single Number
- 题目
- 解决
- 通过记录出现次数判断
- 异或
题目
leetcode题目
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?
解决
1. 通过记录出现次数判断
class Solution {public: int singleNumber(vector<int>& nums) { int num = nums.size(); unordered_map<int, int> array; for (int i = 0; i < num; i++) { // 先将所有数字出现次数初始化为0 array[nums[i]] = 0; } for (int i = 0; i < num; i++) { // 统计数字的出现次数 array[nums[i]]++; } for (int i = 0; i < num; i++) { if (array[nums[i]] == 1) { return nums[i]; } } }};
2. 异或
异或的运算规律是相同为0,不同为1
,这样两个相同的数异或得到的结果就是0。
所以我们将数组array
中的数全部异或,最后得到的结果一定是出现了一次的数。
class Solution {public: int singleNumber(vector<int>& nums) { int result = nums[0]; int num = nums.size(); for (int i = 1; i < num; i++) { result = result ^ nums[i]; } return result; }};
阅读全文
0 0
- leetcode Single Number & Single Number ||
- [LeetCode] Single Number
- Leetcode: Single Number
- Leetcode Single Number
- Single Number - leetcode
- Single Number II - leetcode
- Leetcode: Single Number II
- 【LeetCode】Single Number
- [LeetCode] Single Number II
- LeetCode: Single Number II
- LeetCode: Single Number
- leetcode -- Single Number II
- [leetcode]Single Number II
- [LeetCode] Single Number II
- [LeetCode]Single Number
- Leetcode Single Number
- 【leetcode】Single Number
- 【leetcode】Single Number II
- JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
- 容斥原理自学笔记
- A
- Service全面总结
- 【LEFT JOIN 入门级实践】项目表与组织表与人员表,其中人员存在上下级关系
- Single Number(leetcode)
- 10.30日常总结
- Bean * of type *[class*] is not eligible for getting processed by all BeanPostProcessors
- vue-devtools chrome 开发工具安装
- JAVA方法参数
- 延迟加载(Lazyload)三种实现方式
- 九种基本数据类型的大小,以及他们的封装类。
- golang进阶(五)——restful开发的json处理
- android 混淆后,反射R文件内部类报错