class Solution { public: int firstMissingPositive(vector<int>& nums) { int n = nums.size(); for (int i = 0; i < n; ++i) { // 将nums[i]放到正确的位置,直到无法交换为止 while (nums[i] >= 1 && nums[i] <= n && nums[nums[i] - 1] != nums[i]) { swap(nums[i], nums...
代码2(直接在原数组上进行交换, 空间代价为o(1)) classSolution {public:intfirstMissingPositive(vector<int>&nums) {if(nums.empty())return1; auto begin=getFirstPositivePos(nums);if(*begin <0)return1;for(auto it = begin; it !=nums.end(); ) { auto realPos= begin + *it -1;if(realPo...
}intfirstMissingPositive(vector<int>&nums) {intn=nums.size();//if(n==0) return 1;inti=0;while(i<n){if(nums[i]==i+1|| nums[i]==nums[nums[i]-1] || nums[i]<=0|| nums[i]>n) i++;elseswap(nums[i],nums[nums[i]-1]); }for(i=0;i<n;i++){if(nums[i]!=i+1)b...
classSolution(object):deffirstMissingPositive(self,nums):""":type nums: List[int]:rtype: int"""ifnums[0]==1andnums[len(nums)-1]==len(nums)andsum(nums)==len(nums)*(len(nums)+1)/2:returnlen(nums)+1num_map={}forninnums:num_map[n]=nforiinrange(1,len(nums)+2):try:n=num_...
1classSolution {2public:3intfirstMissingPositive(vector<int>&nums) {4intn =nums.size();5for(inti =0; i < n; ++i) {6while(nums[i] >0&& nums[i] <= n && nums[nums[i] -1] !=nums[i]) {7swap(nums[i], nums[nums[i] -1]);8}9}10for(inti =0; i < n; ++i) {11if...
https://leetcode-cn.com/problems/first-missing-positive/ Given an unsorted integer array, find the smallest missing positive integer. 题意 给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数 。你的算法的时间复杂度应为O(n),并且只能使用常数级别的额外空间。
41 First Missing Positive Hard Solution 42 Trapping Rain Water Hard Solution 43 Multiply Strings Medium Solution 44 Wildcard Matching Hard Solution 45 Jump Game II Medium Solution 46 Permutations Medium Solution 47 Permutations II Medium Solution 48 Rotate Image Medium Solution 49 Group Anagrams Medium...
34 Find First and Last Position of Element in Sorted Array 在排序数组中查找元素的第一个和最后一个位置 Java Medium 35 Search Insert Position 搜索插入位置 Java Easy 36 Valid Sudoku 有效的数独 Java Medium 37 Sudoku Solver 解数独 Java Hard 41 First Missing Positive 缺失的第一个正数 Java Hard 42...
41. First Missing Positive 缺失的第一个正数 Given an unsorted integer array nums, return the smallest missing positive integer. 提供一个为排序的数组,返回最小的缺失的正数 You must implement an algorithm that runs in O(n) time and uses constant extra space. ...
*/publicintfirstMissingPositive(int[]nums){for(inti=0;i<nums.length;i++){if(nums[i]!=i+1){// swap nums[i] with nums[nums[i] - 1]intcur=nums[i]-1;if(cur>=0&&cur<nums.length&&nums[cur]!=nums[i]){inttemp=nums[i];nums[i]=nums[cur];nums[cur]=temp;// 交换完以后的数字...