陣列中未出現的最小正整數
題目描述
給定一個無序陣列arr,找到陣列中未出現的最小正整數
例如arr = [-1, 2, 3, 4]。返回1
arr = [1, 2, 3, 4]。返回5
[要求]
時間複雜度為O(n)O(n),空間複雜度為O(1)O(1)
class Solution {
public:
/**
* return the min number
* @param arr int整型vector the array
* @return int整型
*/
int minNumberdisappered(vector<int>& arr) {
// write code here
for(int i = 0; i<arr.size(); i++){
if(arr[i] < arr.size()){
swap(arr[i], arr[arr[i]-1]);
}
}
for(int i=0; i<arr.size();i++){
if(arr[i]!=i+1){
return i+1;
}
}
return arr.size()+1;
}
};
相關文章
- 如何從整數陣列中找到最大和最小數陣列
- 【陣列】1539. 第 k 個缺失的正整數(簡單)陣列
- 旋轉陣列中的最小元素陣列
- 劍指Offer-把陣列中的數排成一個最小的數陣列
- 陣列中每個陣列元素出現的次數陣列
- JZ-032-把陣列排成最小的數陣列
- 尋找兩個正序陣列中的中位數陣列
- 【LeetCode-陣列】陣列式整數加法LeetCode陣列
- 求兩個正整數的最大公約數與最小公倍數--C#實現C#
- 面試:Java 實現查詢旋轉陣列的最小數字面試Java陣列
- GO實現:leetcode之尋找兩個正序陣列的中位數GoLeetCode陣列
- 劍指offer:旋轉陣列的最小數字陣列
- 劍指offer 旋轉陣列的最小數字陣列
- 找到無序陣列中最小的k個數陣列
- [求解]陣列,分成倆個陣列,陣列值之和的相差最小。陣列
- 輸入一個整數陣列,輸出奇偶數相間排列的陣列陣列
- LeetCode989——陣列形式的整數加法LeetCode陣列
- 劍指offer-轉陣列的最小數字-php陣列PHP
- 劍指Offer-34-把陣列排成最小的數陣列
- 劍指offer——把陣列排成最小的數C++陣列C++
- 4. 尋找兩個正序陣列的中位數陣列
- Swift-Tips之整數轉陣列Swift陣列
- 正則實現陣列濾重陣列
- JavaScript陣列中的最大值和最小值JavaScript陣列
- 2439. 最小化陣列中的最大值陣列
- 【劍指offer】7.旋轉陣列的最小數字陣列
- 【劍指 Offer】11. 旋轉陣列的最小數字陣列
- 劍指 Offer 11. 旋轉陣列的最小數字陣列
- 位運算實現整數與位元組陣列轉換陣列
- 1452: 陣列最小值陣列
- python實現給定一個數和陣列,求陣列中兩數之和為給定的數Python陣列
- 統計陣列中各數字(元素)出現的次數陣列
- 資料轉換-整數字節陣列陣列
- 數數的位數(正整數)
- 尋找兩個正序陣列的中位數問題,方法一:合併陣列檢索法陣列
- 我請大家來刷題:旋轉陣列的最小數字陣列
- 力扣 - 劍指 Offer 45. 把陣列排成最小的數力扣陣列
- JavaScript陣列最大值、最小值和平均數JavaScript陣列