牛客網刷題 缺失數字

2021-10-17 04:46:56 字數 1177 閱讀 9166

從0,1,2,…,n這n+1個數中選擇n個數,組成有序陣列,找出這n個數中缺失的那個數,要求o(n)盡可能小。

輸入描述:

輸入乙個陣列(0-n)

輸出描述:

輸出缺失的數字

輸入

[0,1,2,3,4,5,7]

輸出

6

通過迴圈

通過數學的思路,1-n的和為 n*(n+1)/2

通過異或的特性,計算結果

相同的數字異或為0,任意數字與0異或都是原值

通過迴圈,判斷前後差值是否大於1

通過數學的思路,1-n的和為 n*(n+1)/2 ,依次減去所有的數,得到的結果為缺失的數字

通過異或的特性,假設陣列0,1,3,4

temp = 4^(0^0)^(1^1)^(2^3)^(3^4)

=(4^4)^(0^0)^(1^1)^(3^3)^2

=0^0^0^0^2

=2

// 思路1

public

class

solution

for(

int i =

1; i < a.length; i++)}

return-1

;}}

public

class

solution

int n = a[a.length -1]

;int sum = n *

(n +1)

/2;for

(int i =

0; i < a.length; i++

)return sum;

}}

public

class

solution

int temp = a.length;

for(

int i =

0; i < a.length; i++

)return temp;

}}

小夥伴如果想測試的話,可以直接到牛客網這個鏈結做測試

缺失數字-牛客網

牛客網刷題

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 立華奏在學習初中數學的時候遇到了這樣一道大水題 設箱子內有 n 個球,其中給 m 個球打上標記,設一次摸球摸到每乙個球的概率均等,求一次摸球摸到打標記的球的概率 e...

牛客網刷題

時間限制 c c 2秒,其他語言4秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld 立華奏是乙個剛剛開始學習 oi 的萌新。最近,實力強大的 qingyu 當選了 iods 9102 的出題人。眾所周知,iods 是一場極其毒瘤的比賽。為了在這次...

牛客網刷題筆記

今天在牛客網刷了一道求最長字串是回文數的長度,剛開始的時候,我用兩個指標,乙個指前邊,乙個指後邊,對比兩個指標指向的值,相等則前邊的指標後移,後邊的指標前移,然後再判斷是否相等,如果不相等,那麼就不是回文數,前邊的指標回到第一次開始的地方,後邊的指標回到第一次開始的地方,前邊的指標再自加後移移位,然...