leetcode的每天一題更新(find all numbers disappeared in an Array)

題目:給一個數(shù)組及老,里面的數(shù)字是從1到數(shù)組長度的數(shù)組抽莱,有重復,找出那些屬于1到數(shù)組長度的沒有出現(xiàn)在數(shù)組里的數(shù)。
解題思路:先將數(shù)組排序斟叼,先分兩種情況,如果nums[0]大于1,則循環(huán)加入從2到nums[0]-1的數(shù)字,如果nums[nums.length-1]大于nums.length,則循環(huán)加入之間的數(shù)字,中間的皆的,如果num[i]!=nums[i+1]+1,則循環(huán)加入之間的數(shù)字,這算是笨辦法,寫完以后accepted召廷。等會看答案順便更新厲害的解決辦法治泥,我的代碼:

public class Solution {
    public List<Integer> findDisappearedNumbers(int[] nums) {
        Arrays.sort(nums);
        int interval=0;
        List<Integer> result=new ArrayList<Integer>();
        for(int i=0;i<nums.length-1;i++){  
            if(i==nums.length-2 && nums[i+1]<nums.length){
                for(int j=nums[i+1]+1;j<=nums.length;j++)result.add(j); 
            }
            if(nums[i]!=nums[i+1]+1){
                for(int j=nums[i]+1;j<nums[i+1];j++)result.add(j); 
            }
            if(nums[i]>1 && i==0){
                for(int j=1;j<nums[0];j++)result.add(j); 
            }
        }
        return result;
    }
}

看了一會厲害的代碼本冲,這個題目應該是沒什么取巧的方法粟关,那個人的代碼意思是循環(huán)一邊將nums里的數(shù)字只要出現(xiàn)過的就將這個數(shù)字對應的數(shù)組里的位置數(shù)字置為負數(shù),循環(huán)第二遍的時候?qū)?shù)字不是負數(shù)的數(shù)組下標+1添加到List里面性昭,代碼:

    public List<Integer> findDisappearedNumbers(int[] nums) {
        List<Integer> ret = new ArrayList<Integer>();
        
        for(int i = 0; i < nums.length; i++) {
            int val = Math.abs(nums[i]) - 1;
            if(nums[val] > 0) {
                nums[val] = -nums[val];
            }
        }
        
        for(int i = 0; i < nums.length; i++) {
            if(nums[i] > 0) {
                ret.add(i+1);
            }
        }
        return ret;
    }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市元旬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌穆端,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件枕屉,死亡現(xiàn)場離奇詭異西潘,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進店門植酥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來驾锰,“玉大人艾猜,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵猪杭,是天一觀的道長税手。 經(jīng)常有香客問我不翩,道長亚皂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任伶跷,我火速辦了婚禮雇初,結(jié)果婚禮上靖诗,老公的妹妹穿的比我還像新娘促绵。我一直安慰自己裆蒸,他們只是感情好,可當我...
    茶點故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般寇损。 火紅的嫁衣襯著肌膚如雪尘盼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天籽懦,我揣著相機與錄音,去河邊找鬼厅篓。 笑死捶码,一個胖子當著我的面吹牛惫恼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼拦惋,長吁一口氣:“原來是場噩夢啊……” “哼迎捺!你這毒婦竟也來了砂代?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤难礼,失蹤者是張志新(化名)和其女友劉穎娃圆,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蛾茉,經(jīng)...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡非洲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年登淘,在試婚紗的時候發(fā)現(xiàn)自己被綠了谬哀。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片黍析。...
    茶點故事閱讀 40,918評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖键思,靈堂內(nèi)的尸體忽然破棺而出础爬,到底是詐尸還是另有隱情,我是刑警寧澤吼鳞,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布看蚜,位于F島的核電站,受9級特大地震影響赔桌,放射性物質(zhì)發(fā)生泄漏供炎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一疾党、第九天 我趴在偏房一處隱蔽的房頂上張望音诫。 院中可真熱鬧,春花似錦雪位、人聲如沸竭钝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽香罐。三九已至,卻和暖如春队伟,著一層夾襖步出監(jiān)牢的瞬間穴吹,已是汗流浹背幽勒。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工嗜侮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓锈颗,卻偏偏與公主長得像顷霹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子击吱,可洞房花燭夜當晚...
    茶點故事閱讀 45,926評論 2 361

推薦閱讀更多精彩內(nèi)容