nums.sort(key = lambda x:-abs(x))
for i in range(len(nums)):
if nums[i] < 0 and k:
k -= 1
nums[i] = -nums[i]
return sum(nums)-2*nums[i] if k%2 else sum(nums)
LeetCode.134 加油站
for i in range(len(gas)):
gas[i] -= cost[i]
start = 0
residue = 0
for i in range(len(gas)):
residue += gas[i]
if residue < 0:
start = i+1
residue = 0
return start if sum(gas) >= 0 else -1
LeetCode.135 分发糖果
res = [1] * len(ratings)
for i in range(1, len(res)):
if ratings[i] > ratings[i-1]:
res[i] = res[i-1]+1
for i in range(len(res)-2, -1, -1):
if ratings[i] > ratings[i+1]:
res[i] = max(res[i], res[i+1]+1)
return sum(res)