紀念死去的2018計算機考研程式設計題
阿新 • • 發佈:2018-12-04
具體題目我現在沒有 但是 前幾天很不甘心的翻了一下別人那時候斜下的題目大意,我驚奇的發現,我看錯題目意思了
已知int陣列長度n,求陣列中未曾出現過的最小正整數,要求時間複雜度儘可能優化。
例如{1,2,4,6},應該返回3
而我卻看成出現的最小的正整數!!!把‘未’字漏了!!!
最可怕的是 !!! 我還檢查了題意三遍!!!我就怕我誤會了題目的意思!!!我就知道我會誤會題目的意思。。。
題目連結:https://www.nowcoder.com/practice/9e7a6bcdbce74feb8013d252d76855da?rp=2&ru=/activity/oj&qru=/ta/2016test/question-rankingimport java.util.*; public class ArrayMex { public int findArrayMex(int[] A, int n) { int[] flag = new int[n+1]; int k = -1; for(int i=0;i<A.length;i++){ if (A[i] >= 0 && A[i] < n+1) { flag[A[i]] = 1; } } for(int i=1;i<flag.length;i++){ if(flag[i] == 0){ k = i; break; } } // for (int i = 1; i < flag.length; i++) { // System.out.print(flag[i]); // } // System.out.println(); if(k != -1){ return k; } else { return A.length+1; } } }