91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LeetCode如何解決數組中心索引問題

發布時間:2021-12-15 11:20:20 來源:億速云 閱讀:304 作者:小新 欄目:大數據

這篇文章主要介紹LeetCode如何解決數組中心索引問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

題目描述:

給定一個整數類型的數組 nums,請編寫一個能夠返回數組 “中心索引” 的方法。

中心索引 :數組中心索引的左側所有元素相加的和等于右側所有元素相加的和。

如果數組不存在中心索引,那么我們應該返回 -1。如果數組有多個中心索引,那么我們應該返回最靠近左邊的那一個


示例:

輸入:nums = [1, 7, 3, 6, 5, 6]輸出:3解釋:索引 3 (nums[3] = 6) 的左側數之和 (1 + 7 + 3 = 11),與右側數之和 (5 + 6 = 11) 相等。同時, 3 也是第一個符合要求的中心索引
輸入:nums = [1, 2, 3]輸出:-1解釋:數組中不存在滿足此條件的中心索引

說明:

  • nums 的長度范圍為 [0, 10000]

  • 任何一個 nums[i] 將會是一個范圍在 [-1000, 1000]的整數

LeetCode如何解決數組中心索引問題  



 


 

第一次嘗試

想法:利用一個index標號從數組頭開始移動,設置left_nums和right_nums兩個參數計算左邊和右邊和

注意:

  • left_nums和right_nums要在循環中,因為每一次要重置

  • 數組可能存在負數,所以也可能存在第一個元素或最后一個元素是中心索引

LeetCode如何解決數組中心索引問題

運行結果:

LeetCode如何解決數組中心索引問題

由于循環太多,導致時間效率較低LeetCode如何解決數組中心索引問題LeetCode如何解決數組中心索引問題LeetCode如何解決數組中心索引問題


本文由“壹伴編輯器”提供技術支持

 

第一次優化

減少循環:靈活利用數組切片

內存參數減少了,空間消耗減小,但是時間效率依然較低

LeetCode如何解決數組中心索引問題

LeetCode如何解決數組中心索引問題


本文由“壹伴編輯器”提供技術支持

 

最終優化方法

思路:若index是中心索引,則左邊和=右邊和,這樣的話可以引入公式:

S(數組總和)= left_nums(左邊和)*2 + nums[index]

故只需要動態計算左邊和left_nums即可(又減少了一個參數)

動態計算:先判斷是否是中心索引,再移動index,并計算左邊和left_nums即可

特殊現象:左邊和left_nums和索引標號的移動是同步的,當索引標號右移動一位時,left_nums也就加上上一個索引對應的值

LeetCode如何解決數組中心索引問題

LeetCode如何解決數組中心索引問題


以上是“LeetCode如何解決數組中心索引問題”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武汉市| 漳平市| 沂源县| 乐清市| 荣昌县| 大埔县| 唐河县| 开原市| 长治市| 天水市| 青川县| 新乡市| 东乌| 方城县| 依安县| 瓮安县| 陆丰市| 固原市| 宁晋县| 漳浦县| 广汉市| 五峰| 辽阳市| 大丰市| 姜堰市| 辰溪县| 大方县| 庆城县| 凯里市| 荆门市| 古田县| 大同市| 乌苏市| 大渡口区| 松阳县| 黔东| 镇雄县| 龙南县| 望谟县| 肥东县| 云安县|