《LeetCode筆記102》 和為K的子陣列

2021-10-09 17:46:53 字數 819 閱讀 9922

給定乙個整數陣列和乙個整數 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 層次遍歷

一 思路 這道題使用的是二叉樹的廣度優先遍歷,也就是層次遍歷。與單純的層次遍歷不同的地方在於,這個問題要求返回的遍歷結果是乙個二維陣列,一行代表樹的一層。但是總的思路還是和層次遍歷沒有區別。為了知道二叉樹中每乙個節點位於書的哪一層的問題,需要標識每乙個節點所在的層數,並根據層次遍歷時的節點,對其子節...