中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

LeetCode中怎么實現區域和檢索

發布時間:2021-08-12 15:35:14 來源:億速云 閱讀:100 作者:Leah 欄目:大數據

本篇文章為大家展示了LeetCode中怎么實現區域和檢索,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

給定一個整數數組  nums,建立一個函數用于求出數組從索引 i 到 j  (i ≤ j) 范圍內元素的總和,包含 i,  j 兩點。如:輸入nums = [-2, 0, 3, -5, 2, -1],sumRange(0, 2) =1。

2

 題解

思路:動態規劃、緩存
本題可以直接用sum函數,但是耗時較長。中間狀態dp[i]表示從0-i的和,則要求i-j的和等于dp[j]-dp[i-1],因此首先建立一個數組記錄dp,然后根據想要求的范圍進行計算。此處要注意的是,當i=0時,dp[j]-dp[i-1]會溢出,所以dp的長度是len(nums)+1,第一個元素為0表示i=0之前沒有值。  
class NumArray:
   def __init__(self, nums: List[int]):        if len(nums)==0:            return        self.dp = [0]*(len(nums)+1)        self.dp[1]=nums[0]        for i in range(2,len(nums)+1):            self.dp[i] = self.dp[i-1]+nums[i-1]
   def sumRange(self, i: int, j: int) -> int:        return self.dp[j+1]-self.dp[i]
# Your NumArray object will be instantiated and called as such:# obj = NumArray(nums)# param_1 = obj.sumRange(i,j)
上述內容就是LeetCode中怎么實現區域和檢索,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
向AI問一下細節

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

AI

咸宁市| 崇州市| 阿荣旗| 彰化县| 突泉县| 吉木乃县| 华亭县| 丰顺县| 连山| 宣城市| 镇远县| 乳山市| 滁州市| 西峡县| 理塘县| 汉源县| 琼结县| 揭西县| 新余市| 青州市| 泽州县| 和林格尔县| 静乐县| 东乡| 桃源县| 昌邑市| 北碚区| 尤溪县| 怀宁县| 永宁县| 新郑市| 拜泉县| 常宁市| 霍林郭勒市| 三江| 阿城市| 南溪县| 城步| 凤阳县| 封丘县| 正定县|