作者:爱得诱惑a_920 | 来源:互联网 | 2023-10-12 19:43
本题的规律在于找规律。不要只知道暴力求解啊少年。。。class Solution: def maxRotateFunction(self, nums: List[int]) -> int:
本题的规律在于找规律。不要只知道暴力求解啊少年。。。
class Solution:
def maxRotateFunction(self, nums: List[int]) -> int:
l = len(nums)
s = sum(nums)
f = 0
for i in range(l):
f += i*nums[i]
m = f
for i in range(1, l):
f = f + s - l * nums[-i]
m = max(m, f)
return m
另外,学习了enumerate的用法,优美地生成一个索引序列,用法:
ans = [5,4,3,2,1]
for key,value in enumerate(ans):
print(key, value)
zip的用法
将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
print(list(i+j for i,j in zip(range(5),ans)))