題目是: 陣列nums包含從0到n的所有整數,但其中缺了乙個。請編寫**找出那個缺失的整數。要求時間複雜度為o(n).
這道題我首先想到的是將這個陣列從小到大排序(時間複雜度為o(n)的排序演算法),然後用乙個初始化為0的變數j跟著陣列的下標走,當變數的值與陣列的對應下標位置的值不相等時,此時變數j的值即為"消失的數字".
後面又想到了一種"桶"的方法,這種需要消耗額外的記憶體,該方法不多說了,**如下:
int
missingnumber
(int
*nums,
int numssize)
for(
int i=
0;i)for
(int i=
0;i<=numssize;i++)}
free
(arr)
;//釋放開闢的記憶體
return0;
}
LeetCode 面試題 17 04 消失的數字
陣列nums包含從0到n的所有整數,但其中缺了乙個。請編寫 找出那個缺失的整數。你有辦法在o n 時間內完成嗎?注意 本題相對書上原題稍作改動 示例 1 輸入 3,0,1 輸出 2 class solution def missingnumber self,nums list int int 雜湊表...
面試題 找單獨數字
陣列a中,除了某乙個數字x之外,其他數字都出現了 三次,而x出現了 一次。請給出最快的方法,找到x。這道題是 陣列中除了乙個數字外,其他數字都出現了兩次這道題的公升級版,在其他數字都是兩個的陣列中找出單獨的數字,由於兩個相同的數字經過異或運算後為0,所以我們只要讓陣列中的每乙個數字相互異或就能找到那...
Python 數字聯盟 面試題
1.寫出輸出結果 class myclass class name xiaobai def init self,args if args self.class name args 0 def print name self print this class name format self.clas...