动态规划
AirX
There is no free lunch.
展开
-
剑指Offer 48. 最长不含重复字符的子字符串
class Solution: # hashmap + 动态规划 def lengthOfLongestSubstring(self, s: str) -> int: hashmap = {} tmp, res = 0, 0 for j in range(len(s)): # dict.get(keyname, defaultValue) i = hashmap.get(s[j], -1)原创 2022-01-05 09:51:14 · 246 阅读 · 0 评论 -
剑指Offer 63. 股票的最大利润
class Solution: # 经典的动态规划dp # 注意题目,是一次买卖,所以可以用一个变量保存当前最小的买入价格 # 空间上可以不用数组,用一个变量保存结果即可 def maxProfit(self, prices: List[int]) -> int: res = 0 cost = float("+inf") # 这是正无穷大 for price in prices: cost原创 2022-01-05 05:43:20 · 184 阅读 · 0 评论 -
剑指Offer 42. 连续子数组的最大和
class Solution: # 动态规划思想dp + 在原数组上修改 # 注意不是看nums原本里面的值的正负,而是一个个与前一个数相加后的正负 def maxSubArray(self, nums: List[int]) -> int: for i in range(1,len(nums)): nums[i] += max(nums[i-1], 0) return max(nums) ...原创 2022-01-04 15:25:03 · 263 阅读 · 0 评论