两数之和
class Solution:
def twoSum(self, nums, target):
dic={}
for i,n in enumerate(nums):
if target-n in dic:
return dic[target-n],i
dic[n]=i
print(dic)
最大子数组和
class Solution:
def maxSubArray(self, nums):
dup=[0]*len(nums)#存储每个step的最大值
dup[0]=nums[0]
for i in range(1,len(nums)):
if dup[i-1]<=0:#如果小于dup,舍弃之前的数组和
dup[i]=nums[i]
else:#如果之前的数组和>=0,则之前的数组和+当前的数字为当前的数组和
dup[i]=dup[i-1]+nums[i]
return max(dup)
nums = [-2,1,-3,4,-1,2,1,-5,4]
mas=Solution().maxSubArray(nums)
print(mas)