消失的數字

2021-07-30 01:53:38 字數 416 閱讀 8388

給定乙個陣列a,長度為n,保證1<=a[i]<=n,找出1-n中所有未出現的數字,不使用額外空間且時間複雜度為o(n).

如果可以使用額外空間,我們會使用一塊額外空間來記錄某乙個數字是否出現過,遍歷一遍a來更新額外空間狀態,然後遍歷額外空間來獲得未出現的數字。現在不允許使用額外空間,我們可以不可以直接在陣列上來儲存狀態?可以這樣做,假設陣列長度為n,我們發現a[0]=3,那麼說明3出現一次,由於陣列下標是0~n-1,所以我們更新下標為2的值來表示3出現一次,怎麼更新呢?直接讓a[2]+n這樣的話每次使用陣列都要%n得到實際的值,**如下

public

class solution

for (int i = 0; i != n; ++i)

}return result;

}}

消失的數字

a 消失的數字 檔名 輸入檔案 輸出檔案 時間限制 空間限制 del.cpp c pas del.in del.out 1s 512mb 題目描述 現在,我的手上有 n 個數字,分別是 a 1 a 2 a 3 a n 我現在需要刪除其中的 k 個數字。當然我不希望隨隨便便刪除,我希望刪除 k 個數字...

消失的數字(高斯求和)

題目描述 電影 密室逃生 講述的是一群密室逃脫愛好者,被乙個 博士關在乙個布滿機關的密室中,密室逃脫愛好者們要想盡辦法逃出密室的故事。今天lzy也被抓起來丟到了一間密室裡,限定lzy 半小時內逃出去,否則他將被永遠困在密室當中。這間密室中,只有牆壁上寫著一大串密密麻麻的數字,這些數字是 0 n 中的...

找出陣列中消失的數字

思路 這裡我是用了常規做法,使用雜湊表來儲存陣列中元素,然後查詢出不存在的數字。但是違反了題目中不使用額外空間的要求。class solution for int i 1 i nums.length i return list 思路 由於題目中不能使用額外空間的設定,所以這裡精巧的將每個數字出現過的...