欢迎光临
我们一直在努力

leetcode3689最大子数组总值I

一、问题描述

二、解题思路

由于本题的子数组可以重复选择,所以,可以使用贪心算法来解决这个问题。遍历数组,找出最大值MAX和最小值MIN,结果即为k*(MAX-MIN),最后计算返回即可。

三、代码实现

class Solution {
public:
long long maxTotalValue(vector<int>& nums, int k) {
//贪心:找到(最大元素-最小元素)*k
long long ret=0;
int MIN=nums[0],MAX=nums[0];
for(auto x:nums){
MIN=min(x,MIN);
MAX=max(x,MAX);
}
//防止溢出
ret+=(long long)k*(MAX-MIN);
return ret;
}
};

赞(0)
未经允许不得转载:171主机测评 » leetcode3689最大子数组总值I
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址