LeetCode--First Missing Positive
来源:互联网 发布:系统检测修复软件 编辑:程序博客网 时间:2024/06/06 18:25
Given an unsorted integer array, find the first missing positive integer.
For example,
Given [1,2,0] return 3,
and [3,4,-1,1] return 2.
Your algorithm should run in O(n) time and uses constant space.
思路:桶排序(bucket sort),每当nums[i]!=i+1的时候,将nums[i]与nums[nums[i]-1]交换,直到无法交换为止,终止条件是nums[i]==nums[nums[i]-1]。
class Solution {public: int firstMissingPositive(vector<int>& nums) { int n=nums.size(); bucket_sort(nums,n); for(int i=0;i<n;i++){ if(nums[i]!=i+1) return i+1; } return n+1; } void bucket_sort(vector<int>&nums,int n){ for(int i=0;i<n;i++){ while(nums[i]!=i+1){ if(nums[i]<1||nums[i]>n||nums[i]==nums[nums[i]-1]) break; swap(nums[i],nums[nums[i]-1]); } } }};
阅读全文
0 0
- LeetCode: First Missing Positive
- LeetCode First Missing Positive
- LeetCode: First Missing Positive
- [Leetcode] First Missing Positive
- [LeetCode] First Missing Positive
- [Leetcode] First Missing Positive
- leetcode First Missing Positive
- LeetCode First Missing Positive
- [leetcode] first missing positive
- LeetCode: First Missing Positive
- [LeetCode]First Missing Positive
- LeetCode-First Missing Positive
- [leetcode] First Missing Positive
- [LeetCode] First Missing Positive
- LeetCode - First Missing Positive
- LeetCode | First Missing Positive
- Leetcode: First Missing Positive
- Leetcode:First Missing Positive
- 理解 Linux 中的 关机命令
- SQL中Left Join 与Right Join 与 Inner Join 与 Full Join的区别
- 金融企业软件测试中心筹备书-考核及总结篇
- 入门级使用PowerDesigner软件创建数据库
- 方向
- LeetCode--First Missing Positive
- sysstat 中sar命令使用笔记
- Java并发包基石-AQS详解
- Android style Theme
- 如何设计三维模型?
- MAC10.11 Python3.6 安装Scrapy
- python 爬虫入门(2) 爬虫基础知识 ; urllib 模块 ;urllib2 模块
- 习题 4.6 有一个函数:y=x (x<1) y=2x-1 (1<=x<10) y=3x-11 (x>=10) 写程序,输入x的值,输出y相应的值。
- 2017年数据科学15个最好用的Python库