41. First Missing Positive
来源:互联网 发布:华为误删移动用户数据 编辑:程序博客网 时间:2024/05/19 07:08
这道题让我们找缺失的首个正数,由于限定了O(n)的时间,所以一般的排序方法都不能用,最开始我没有看到还限制了空间复杂度,所以想到了用哈希表来解,这个思路很简单,第一遍遍历数组把所有的数都存入哈希表中,并且找出数组的最大值,下次循环从1开始递增找数字,哪个数字找不到就返回哪个数字,如果一直找到了最大的数字,则返回最大值+1
class Solution {public: int firstMissingPositive(vector<int>& nums) { unordered_map<int, int> m; int maxnum = 0; for(int i = 0; i < nums.size(); ++i){ m[nums[i]] = 1; maxnum = max(maxnum, nums[i]); } for(int i = 1; i <= maxnum; ++i){ if(m.count(i) == 0) return i; } return maxnum+1; }};
阅读全文
0 0
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 框架和设计模式的区别
- ES6中promise(摘自吕大豹大话讲解Promise)
- Linux系统结构
- AMD/CMD/CommonJS是什么
- 线程池初探(三)
- 41. First Missing Positive
- 电脑蓝屏或突然断电导致AndroidStudi重新打开项目时,项目报红,XML文件格式错误,但可以正常运行的解决方案
- 自定义View实现文本水平方向的跑马灯效果
- JavaScript自用入门
- class类和对象
- Unity3d 文本文件的读取和解析
- 创建角色,用户,权限只能访问指定数据库
- sql server日志传送导致的问题
- 55. Jump Game