魔法师 (@Constanline)Leetcode每日一题 —— 3691. 最大子数组总值 II 中发帖

思路 
今天的困难难度对我来说是实至名归了 🤣
一开始想的是贪心算法,每次取差值最大的,但是每次贪心的对结果贡献递增值取值范围没想明白。
后来想的找到所有差值,然后通过大顶堆每次取最大的差值,MLE了。
最后还是用贪心。

每次取差值最大的左右端点。
记录每一行已访问过得左端点。
遍历第一步中的右端点到n-1,通过第二步中记录的左端点和第一步中的左端点,计算这次能够贡献的次数,并累加到结果中。

速度比较慢,应该能优化,有空再看看。
代码
class Solution {
public long maxTotalValue(int[] nums, int k) {
int n = nums.length;
// 记录下数值及所在坐标,然后按照数值排序
int[][] numsWithIdx = new int[n][2...