day003 子陣列之和為零

2021-10-09 01:43:01 字數 889 閱讀 3155

子陣列之和為零:

"""

問題描述:

給定乙個整數陣列,找到和為零的子陣列,返回滿足要求的子陣列起始位置和結束位置。

問題示例:

給出[-3, 1, 2, -3, 4],返回[0, 2]或者[1, 3],至少有乙個子陣列之和為零。

"""class

solution

:def

subarraysum

(self, nums)

: prefix_hash =

prefix_sum =

0for i, num in

enumerate

(nums)

: prefix_sum += num

if prefix_sum in prefix_hash:

return prefix_hash[prefix_sum]+1

, i prefix_hash[prefix_sum]

= i return-1

,-1if __name__ ==

'__main__'

: nums =[-

3,1,

2,-3

,4] solution = solution(

)print

("初始化的陣列是:"

, nums)

print

("和為零的子陣列是:"

, solution.subarraysum(nums)

)"""

執行結果:

初始化的陣列是: [-3, 1, 2, -3, 4]

和為零的子陣列是: (0, 2)

"""

day003 連續子陣列最大和

連續子陣列最大和 問題描述 給定乙個整數陣列,找出乙個連續子陣列,使該子陣列的和最大。輸出結果時,將分別返回第乙個數字和最後乙個數字的下標 兩個相同的答案,返回最先找到的那個 問題示例 給定 3,1,3,3,4 返回 1,4 class solution def continuoussubarray...

2018 6 27 程式設計素養 Day003

查詢 sdddrtkjsfkkkasjdddj 字串中,出現次數最多的字元和次數 最多字元 d 最多次數 6 表名 team idname1a 2b3b 4a5c 6c要求 執行乙個刪除語句,當 name 列上有相同時,只保留 id 這列上值小的 例如 刪除後的結果應如下 idname1a 2b5c...

DAY003 練習題答案

練習題 1 猜數字遊戲 題目描述 電腦產生乙個零到100之間的隨機數字,然後讓使用者來猜,如果使用者猜的數字比這個數字大,提示太大,否則提示太小,當使用者正好猜中電腦會提示,恭喜你猜到了這個數是 在使用者每次猜測之前程式會輸出使用者是第幾次猜測,如果使用者輸入的根本不是乙個數字,程式會告訴使用者 輸...