class Solution:
def largestSumAfterKNegations(self, nums: List[int], k: int) -> int:
nums = sorted(nums, key=abs, reverse=True)
print(nums)
for i in range(len(nums)):
if k > 0 and nums[i] <= 0:
nums[i] *= -1
k -= 1
print(nums)
if k > 0:
nums[-1] *= (-1)**k
print(nums)
return sum(nums)
class Solution:
def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:
if sum(gas) < sum(cost):
return -1
total = 0
res = 0
for i in range(len(gas)):
total += gas[i]-cost[i]
if total < 0:
total = 0
res = i+1
return res