[LeetCode]645. Set Mismatch
来源:互联网 发布:phpstorm php配置 编辑:程序博客网 时间:2024/05/18 09:05
[LeetCode]645. Set Mismatch
题目描述
思路
简单粗暴的方法,用哈希表统计即可
优化
1-n之间的数,只有一个重复,那么可以不消耗额外空间,在原数组做标记,1-n的数对应访问数组下标,访问过的数组元素就置负,当访问到的元素已经是负数时,说明当前当做下标的数是第二次出现了
再次遍历数组,经过一轮标记后元素值仍为正数的数的下标对应的数,就是缺失的数了
代码
#include <iostream>#include <vector>#include <algorithm>using namespace std;class Solution {public: vector<int> findErrorNums(vector<int>& nums) { vector<int> res; for (int i = 0; i < nums.size(); ++i) { if (nums[abs(nums[i]) - 1] > 0) nums[abs(nums[i]) - 1] = -nums[abs(nums[i]) - 1]; else res.push_back(abs(nums[i])); } for (int i = 0; i < nums.size(); ++i) { if (nums[i] > 0) { res.push_back(i + 1); break; } } return res; }};int main() { vector<int> nums = { 1,2,2,4 }, res; Solution s; res = s.findErrorNums(nums); for (int num : res) cout << num << " "; cout << endl; system("pause"); return 0;}
阅读全文
0 0
- leetcode 645. Set Mismatch
- [LeetCode]645. Set Mismatch
- 【LeetCode】645. Set Mismatch
- LeetCode 645. Set Mismatch
- leetcode 645. Set Mismatch
- [LeetCode]645. Set Mismatch
- leetcode 645. Set Mismatch
- Leetcode 645. Set Mismatch 找缺值 解题报告
- LeetCode 645 Set Mismatch
- Leetcode 645 Set Mismatch
- leetcode--645--Set Mismatch
- 645. Set Mismatch
- 645. Set Mismatch
- 645. Set Mismatch
- 645. Set Mismatch
- 645. Set Mismatch
- 645. Set Mismatch
- 2017.12.25 LeetCode 645. Set Mismatch 【思维查找】
- FTPrep, 75 Sort Colors
- PopupWindow
- process_config解析fstab文件
- redis数据类型
- html --table表格
- [LeetCode]645. Set Mismatch
- numpy 矩阵运算
- 量子概率及量子认知学习入口
- AlertDialog
- 利用C3P0数据源来作连接池,简单的写一个数据库操作来描述分层思想
- 割数问题
- (生产者消费者)线程池、 多线程读写线程
- 在JS中typeof返回的结果有哪几种?
- 割数问题——C语言版