# 代码随想录训练营第III期--031&32--python
# 455.分发饼干
class Solution:
def findContentChildren(self, g: List[int], s: List[int]) -> int:
g.sort()
s.sort()
i = j = res = 0
while i<len(g) and j<len(s):
if g[i] <= s[j]:
res += 1
i += 1
j += 1
return res
# 376. 摆动序列
class Solution:
def wiggleMaxLength(self, nums: List[int]) -> int:
pre = 0
res = 1
for i in range(len(nums) - 1):
cur = nums[i + 1] - nums[i]
if (cur > 0 and pre <= 0) or (cur < 0 and pre >= 0):
res += 1
pre = cur
return res
# 53. 最大子序和
class Solution:
def maxSubArray(self, nums: List[int]) -> int:
n = len(nums)
dp = [0 for _ in range(n)]
dp[0] = nums[0]
for i in range(1,n):
dp[i] = max(nums[i], dp[i-1] + nums[i])
return max(dp)
# 122
class Solution:
def maxProfit(self, prices: List[int]) -> int:
prof = 0
for i in range(1, len(prices)):
tmp = prices[i] - prices[i - 1]
if tmp > 0:
prof += tmp
return prof
# 55
class Solution:
def canJump(self, nums: List[int]) -> bool:
n = len(nums)
k = 0
for i in range(n):
if i <= k:
k = max(k, i + nums[i])
if k>=n-1:
return True
return False
# 45
class Solution:
def jump(self, nums: List[int]) -> int:
end, max_pos = 0, 0
steps = 0
for i in range(len(nums) - 1):
max_pos = max(max_pos, nums[i] + i)
if i == end:
end = max_pos
steps += 1
return steps
# 作者:ITCharge
# 链接:https://leetcode.cn/problems/jump-game-ii/solution/by-itcharge-xn4b/
# 来源:力扣(LeetCode)
# 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
代码随想录训练营第III期--031&32--python
最新推荐文章于 2024-07-23 14:36:35 发布