LeetCode 268.Missing Number
来源:互联网 发布:一个算法的时间复杂度 编辑:程序博客网 时间:2024/06/10 13:49
LeetCode 268.Missing Number
Description:
Given an array containing n distinct numbers taken from 0, 1, 2, …, n, find the one that is missing from the array.
Example 1:
Input: [3,0,1]
Output: 2
Example 2:
Input: [9,6,4,2,3,5,7,0,1]
Output: 8
分析:
这道题要仔细分析题目意思,说的是有n个不同的数,找出没出现的数,而这个数其实是大于等于0小于等于n的。
我们可以先给数组按从小到大排序,然后遍历一次,在循环内部利用nums[i] != i
判断没出现的数,若成立即可返回结果。
最坑的就是这个地方了:如果上述循环判断没能找到结果,记得要返回nums.size(),表示没找到n,因为题目意思是找到0-n中的一个数,是包括n的。
可能大家并没遇到这么傻的问题,但我确实在这里多提交了两次才AC。
代码如下:
#include <iostream>#include <algorithm>#include <vector>using namespace std;class Solution {public: int missingNumber(vector<int>& nums) { sort(nums.begin(), nums.end()); for (int i = 0; i < nums.size(); i++) { if (nums[i] != i) return i; } return nums.size(); }};int main() { Solution s; vector<int> nums; int n; cin >> n; int t; for (int i = 0; i < n; i++) { cin >> t; nums.push_back(t); } cout << s.missingNumber(nums) << endl; return 0;}
阅读全文
0 0
- [leetcode] 268.Missing Number
- 【leetcode】268. Missing Number
- [leetcode] 268. Missing Number
- Leetcode 268. Missing Number
- 268. Missing Number LeetCode
- LeetCode 268. Missing Number
- 【LeetCode】268. Missing Number
- [LeetCode]268. Missing Number
- LeetCode *** 268. Missing Number
- 【leetcode】268. Missing Number
- leetcode-268. Missing Number
- LeetCode-268.Missing Number
- LeetCode 268. Missing Number
- [Leetcode] 268. Missing Number
- 【leetcode】268. Missing Number
- leetcode 268. Missing Number
- 【leetcode】268. Missing Number
- leetcode- 268. Missing Number
- JDBC使用
- 仿京东分类列表MVP模式请求
- spark1.3版本源码解读
- Python基础-匿名函数 Lambda
- PAT-1015.反转链表(25)
- LeetCode 268.Missing Number
- 获取手机号归属地的3种方法
- 深度强化学习——DQN
- 如何配置linux的IP地址
- JAVA通过Gearman实现MySQL到Redis的数据同步(异步复制)
- hello,C语言
- 洛谷P2910 [USACO08OPEN]寻宝之路Clear And Present Danger
- 代码
- [Java数据结构]线性表之队列Queue