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