lintcode刷題 丟失的第乙個正整數

2021-08-07 18:06:51 字數 703 閱讀 5506

原題如下:

丟失的第乙個正整數 

給出乙個無序的正數陣列,找出其中沒有出現的最小正整數。

您在真實的面試中是否遇到過這個題?

yes

樣例如果給出[1,2,0], return3

如果給出[3,4,-1,1], return2

做題思路:

1、這題並不難,主要是要考慮到多種不同的情況,題目給出的陣列應該是可以有重複數字並且有正有負的;

2、最小的正整數,將陣列中的數放入乙個與輸入陣列等大的陣列中,排序,如果最小的數是小於等於1的,最小正整數應該在陣列中間或者大於陣列最大的數,這時候只要考慮每乙個數和前乙個數相差的是不是大於1即可,注意,還要保證前乙個數是大於0的;

3、如果最小的數大於1,那麼結果就為1.

具體的c++**如下:

class solution

}int len = a.size();

sort(a.begin(), a.end());

int max = a[len - 1];

vectorm(len,0);

for (int i = 0; i < len;i++)

if (m[0] <= 1)

}return m[len - 1] + 1;

}else}};

LintCode刷題隨筆

給出乙個陣列nums包含n 1個整數,每個整數是從1到n 包括邊界 保證至少存在乙個重複的整數。假設只有乙個重複的整數,找出這個重複的數。1.不能修改陣列 假設陣列只能讀 2.只能用額外的o 1 的空間 3.時間複雜度小於o n 2 4.陣列中只有乙個重複的數,但可能重複超過一次 您在真實的面試中是...

lintcode刷題 最小差

原題如下 最小差 給定兩個整數陣列 第乙個是陣列a,第二個是陣列b 在陣列 a 中取 a i 陣列 b 中取 b j a i 和 b j 兩者的差越小越好 a i b j 返回最小差。您在真實的面試中是否遇到過這個題?yes 樣例給定陣列 a 3,4,6,7 b 2,3,8,9 返回0。做題思路 1...

LintCode刷題 有效數字

今天第一次是跟隨乙個博主學習足跡知道有lintcode 和leetcode這兩個刷題 專為學程式設計的同志練手,我希望我可以每天堅持刷一題!題目 有效數字 要求 希望可以得到如下效果 0 true 0.1 true abc false 1 a false 2e10 true 程式 public cl...