文章目录
刷题前唠嗑
LeetCode? 启动!!!
首先声明一点啊,这个脑筋急转弯的题目标签可不是我想的啊,这个是 LeetCode 官方给这道题标注的啊
K 个元素的最大和
题目链接:2656. K 个元素的最大和
题目描述
代码与解题思路
go
func maximizeSum(nums []int, k int) int {
maxV := 0
for _, v := range nums {
maxV = max(maxV, v)
}
return (maxV + (maxV+k-1))*k/2
}
题目说让我们找到一最大数 x,然后删掉,换上一个 x+1,也就是我们只需要遍历一遍找到最大的那个数,然后看看 k 是多少,就一直往后加就行,就像这样:x + (x+1) + (x+2) + (x+3) ... (x+k-1)
然后。。这玩意不就是一个等差数列吗,初中知识涌入脑海(文科生落泪)等差数列的求和公式:(首项+末项)*项数/2,直接带进代码里面,爽得很,快乐了
结语
久违的简单题给我带来了一丝温暖,哭了