7.2leetcode
1.第一题:
这道题虽然是一道简单题,但是我还是写不出来不用排序的解法,而且分的情况也挺多种的,大早上的真是把我给绕糊涂了,鬼知道这一道题我怎么就罗嗦了30几行代码,欲哭无泪,代码如下:
class Solution:
def largestSumAfterKNegations(self, A: List[int], K: int) -> int:
b=sorted(A)
num=0
for value in b:
if value<0:
num+=1
else:
break
if num==0:
if K%2==0:
pass
else:
b[0]=-b[0]
elif num<K:
if (K-num)%2==0:
for i in range(num):
b[i]=-b[i]
else:
for i in range(num-1):
b[i]=-b[i]
if -b[num-1]<b[num]:
pass
else:
b[num-1]=-b[num-1]
b[num]=-b[num]
else:
for i in range(K):
b[i]=-b[i]
sum=0
for val in b:
sum=sum+val
return sum