Leetcode每日一题 —— 3689. 最大子数组总值 I

魔法师 2026-06-09 09:03 1



思路

今天的题难度应该算简单,每次都取整个数组一定是最优解。


代码


class Solution {
public long maxTotalValue(int[] nums, int k) {
long min = Long.MAX_VALUE;
long max = 0;
for (int num : nums) {
min = Math.min(min, num);
max = Math.max(max, num);
}
return (max - min) * k;
}
}
最新回复 (6)
  • alan 06-09 09:14
    1

    ,这题没说k大于n可组数组次数的情况

  • Infinity4B 06-09 09:23
    2

    这题何意味啊,完全不是中等题


    class Solution:
    def maxTotalValue(self, nums: List[int], k: int) -> int:
    return k*(max(nums)-min(nums))
  • SomeBottle 06-09 09:30
    3

    什么罐子我说!子数组可以重叠,也可以多次选择。


    那直接找最大值和最小值的差然后 \times k 不就完事了


    class Solution {
    public:
    long long maxTotalValue(vector<int>& nums, int k) {
    // 子数组可以重叠,可以多次选择
    // 那我直接找最大值和最小值的差然后 *k 不就完事了
    int maxVal = nums[0];
    int minVal = nums[0];
    for (int num : nums) {
    maxVal = max(maxVal, num);
    minVal = min(minVal, num);
    }
    return (long long)(maxVal - minVal) * k;
    }
    };
  • Lvvvv 06-09 09:32
    4

    没看懂意图(?


    class Solution {
    public:
    long long maxTotalValue(vector<int>& nums, int k) {
    auto p = std::minmax_element(nums.begin(),nums.end());
    return static_cast<long long>(k) * (*p.second - *p.first);
    }
    };
  • 咪帕 06-09 10:31
    5
    class Solution:
    def maxTotalValue(self, nums: List[int], k: int) -> int:
    return k * (max(nums) - min(nums))

    +1 意义不明

  • CPython 06-09 14:04
    6
    class Solution:
    def maxTotalValue(self, nums: List[int], k: int) -> int:
    return (max(nums) - min(nums)) * k
* 帖子来源Linux.do
返回