Swift 陣列演算法 題 答案

2021-09-11 02:19:44 字數 1043 閱讀 2602

給定乙個整數型別的陣列nums,請編寫乙個能夠返回陣列「中心索引」的方法。

我們是這樣定義陣列中心索引的:陣列中心索引的左側所有元素相加的和等於右側所有元素相加的和。

如果陣列不存在中心索引,那麼我們應該返回 -1。如果陣列有多個中心索引,那麼我們應該返回最靠近左邊的那乙個。

思路: 從左到右 依次 算出 每個 元素 左邊的和 與 右邊的和;相同的話;結束;不相同繼續

func pivotindex(_ nums: [int]) -> int

var index = 0

while index < nums.count

var numsresutl:[int] = nums

numsresutl.sort

if numsresutl.count > 1{

if numsresutl[0] >= numsresutl[1]*2 {

var index = 0

for i in 0..給定乙個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一。

最高位數字存放在陣列的首位, 陣列中每個元素只儲存乙個數字。

你可以假設除了整數 0 之外,這個整數不會以零開頭。

思路:要注意 陣列不能 換成 整數;整數 int 型別 的範圍 沒有陣列 換成 int 範圍大

這裡的思路是:

1.陣列從最後一位往前 遍歷

2. 最後一位 + 1 比 10 小 ; 修改最後一位的元素 ;結束

3. 如果 最後一位 +1 > = 10 ;陣列 前一位 元素 加 1 繼續上面操作

這裡要注意的是:陣列的 第 0位 元素;如果 >=10 .需要 在陣列中插入高位

func plusone(_ digits: [int]) -> [int] {

var result = digits;

for i in 0..總結:

上述 問題 出自 答案是我寫的;可能不是 最優的解決方案;但是是正確的;從這次做演算法題;發現自己腦子沒以前好使了;有點懷疑 做 ios 、手機端的開發 ,是不是有點讓智力退化的節奏;今後還是需要多動動腦子;才不會生鏽;

演算法題 含答案和解析

1.某段文字中各個字母出現的頻率分別是,使用哈夫曼編碼,則哪種是可能的編碼 a a 001 b 000 h 01 i 10 o 11 b a 0000 b 0001 h 001 o 01 i 1 c a 000 b 001 h 01 i 10 o 00 d a 0000 b 0001 h 001 o...

演算法題 含答案和解析

1.十字鍊錶是無向圖的一種儲存結構 a 對 b 錯 2.以下關於廣義表的敘述中,正確的是 a 廣義表是0個或多個單因素或子表組成的有限序列 b 廣義表至少有乙個元素是子表 c 廣義表不可以是自身的子表 d 廣義表不能為空表 3.kmp演算法的最大特色是指示主串的指標不需回溯 a 正確 b 錯誤 4....

演算法題 含答案和解析

1.分支限界法與回溯法都是在問題的解空間樹t上搜尋問題的解,關於二者說法中正確的是 a 求解目標不同,搜尋方式相同 b 求解目標不同,搜尋方式也不同 c 求解目標相同,搜尋方式不同 d 求解目標相同,搜尋方式也相同 2.下列程式段,迴圈體執行次數是 y 2 while y 16 y 2 print ...