标签:etc 题目 code nbsp color span ++ style ==
一:解题思路
题目告诉我们的是整数数组,则我们可以将整数和对应的下标一一映射。 先遍历一遍数组,将正整数放在对应的位置上,然后再遍历一遍数组求出缺失的的第一个正数数字。
二:完整代码示例 (C++版和Java版)
C++:
class Solution { public: int firstMissingPositive(vector<int>& nums) { if (nums.size() == 0) return 1; int n = nums.size(); int p = 0; while (p < n) { int num = nums[p]; if (num >= 1 && num <= n && nums[num - 1] != num) { swap(nums[p],nums[num-1]); } else { p++; } } for (int i = 0; i < n; i++) if (nums[i] != i + 1) return i + 1; return n + 1; } };
Java:
标签:etc 题目 code nbsp color span ++ style ==
原文地址:https://www.cnblogs.com/repinkply/p/13513659.html