給定乙個整數陣列和乙個整數 k,你需要找到該陣列中和為 k 的連續的子陣列的個數。
示例 1 :
輸入:nums = [1,1,1], k = 2說明 :輸出: 2 , [1,1] 與 [1,1] 為兩種不同的情況。
從前向後累加,雜湊表記錄累加值的頻率,在雜湊表中檢索與當前值滿足條件值的頻率。
class solution:
def subarraysum(self, nums: list[int], k: int) -> int:
l = len(nums)
if l==0:
return 0
s = 0
counting = 0
value_counting = {}
for i in range(l):
s += nums[i]
nums[i] = s
if nums[i]==k:
counting+=1
if nums[i]-k in value_counting:
counting += value_counting[nums[i]-k]
if nums[i] in value_counting:
value_counting[nums[i]] += 1
else:
value_counting[nums[i]] = 1
return counting
LeetCode刷題筆記 102
題目 二叉樹的層次遍歷 給定乙個二叉樹,返回其按層次遍歷的節點值。即逐層地,從左到右訪問所有節點 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 157返回其層次遍歷結果 3 9,20 15,7 答案 1.迭代 將結點按層次依次放入佇列結構中。當佇列非空時 1 新建乙個空...
qbxt 學習筆記 10 2
昨晚網路咕了,而且比較晚,沒交作業。解題報告寫成書面的了,另發 部落格。目錄2.模擬退火 3.meet in the middle 概述示例 在這個圖中,如果當前在 1 位置,判斷出這個位置的斜率,發現這個點右邊要更靠上一些,於是往右走,然後發現走到了 2 位置,走過頭了,就往回走,最後走到了 3 ...
LeetCode 102 層次遍歷
一 思路 這道題使用的是二叉樹的廣度優先遍歷,也就是層次遍歷。與單純的層次遍歷不同的地方在於,這個問題要求返回的遍歷結果是乙個二維陣列,一行代表樹的一層。但是總的思路還是和層次遍歷沒有區別。為了知道二叉樹中每乙個節點位於書的哪一層的問題,需要標識每乙個節點所在的層數,並根據層次遍歷時的節點,對其子節...