讨论/题目交流/🏆 第 186 场力扣周赛/
🏆 第 186 场力扣周赛

欢迎小伙伴们在这里交流分享你的参赛心得以及体验。【前往竞赛】

image.png

3 分 - 分割字符串的最大得分
4 分 - 可获得的最大点数
5 分 - 对角线遍历 II
6 分 - 带限制的子序列和

展开讨论

做第四题的时候,发现测试用例[-1,-2,-3]和k=1答案是-1,然而运行时答案变成了36,发现是全局变量数组的初始化出了问题,不全为零导致了错误,请问是什么情况?

int que[100005];
int dp[100005];
int head=1,tail=0;
class Solution {
public:
    int constrainedSubsetSum(vector<int>& nums, int k) {
        int n=nums.size();
        int r=-2e9;
        for(int i=0;i<10;i++){
            cout<<que[i]<<endl; // 显示未初始化全局数组的前十位
        }
        //memset(que,0,100005);
        //memset(dp,0,100005);
        for(int i=0;i<n;i++){
            while(head<=tail && que[head]<i-k) head++;
            int w=(head>tail)?0:dp[que[head]];
            w=max(w,0);
            w+=nums[i];
            dp[i]=w;
            while(head<=tail && dp[que[tail]]<dp[i]) tail--;
            que[++tail]=i;
            r=max(r,dp[i]);
        }
        
        return r;
    }
};

报错:
image.png

展开全部 16 讨论