題目描述
給出n個互不相同的整數a[i],從小到大找第乙個沒有出現過的整數。
輸入格式
第一行乙個正整數n,之後是n個整數a[i];(1<=n<=3000 1<=a[i]<=3000)
輸出格式
乙個整數x,即第乙個沒有出現過的整數。
輸入輸出樣列
輸入樣例1:
3 1 7 2
輸出樣例1:
思路:第一次拿到這道題目時候,想了一下題目的意思,不知道輸出的3是啥意思,後來研究了一下,把輸入的資料進行排序,從第乙個數開始比,如果相等,那麼就一直跟著累加
#include
#include
#include
#include
using namespace std;
int main() ;
cin >> n ;
for (int i = 1; i <= n ; i ++) // 因為 1<= a[i] <= ..
sort ( a + 1 ,a + n + 1 ) ;
for ( int i = 1 ,x = 1; i <= n ; i ++ )
else
}return 0;
} 虎嗅細嗅:17611134175
演算法 找出陣列中未出現的那個數字
今天看到一道演算法題。將1 100這100個數字放入int這樣的陣列中。現在要找出哪個數字是沒有出現在陣列中的。你會怎麼做?1 大部分人的做法 一瞬間就能想到的方法是遍歷 兩個迴圈套在一起,遍歷每乙個數字是否出現在陣列中。這個方法時間複雜度是o n 2 2 稍微思考一下,可以給出另乙個做法 先將陣列...
陣列中未出現的最小正整數
陣列中未出現的最小正整數 給定乙個無序陣列arr,找到陣列中未出現的最小正整數 例如arr 1,2,3,4 返回1 arr 1,2,3,4 返回5 要求 時間複雜度為o n o n o n 空間複雜度為o 1 o 1 o 1 輸入描述 第一行為乙個整數n。表示陣列長度。接下來一行n個整數表示陣列內的...
陣列中未出現的最小正整數
給定乙個無序陣列arr,找到陣列中未出現的最小正整數 例如arr 1,2,3,4 返回1 arr 1,2,3,4 返回5 要求 時間複雜度為o n 空間複雜度為o 1 示例1 1,2,3,4 1 方法二 先原地排序,將1 n之間的數字通過交換的方式進行排序 例如 2,3,1,4 第乙個元素nums ...