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

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

image.png

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

展开讨论

第三题暴力法怎么优化都超时,大佬们都什么思路指点一下QAQ


/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* findDiagonalOrder(int** nums, int numsSize, int* numsColSize, int* returnSize)
{
    //先试试暴力
    int count=0,max=0,h=-1;
    for(int i=0;i<numsSize;i++)
        for(int j=0;j<numsColSize[i];j++) {count++;max=(max>i+j)?max:i+j;}
    *returnSize=count;
    int *y=(int *)malloc(count*sizeof(int));
    for(int k=0;k<=max;k++)
    {
        for(int i=(k<numsSize-1)?k:numsSize-1;i>=0;i--)
        {
            if(k-i<numsColSize[i] && k-i>=0)
            y[++h]=nums[i][k-i];  
        }
    }
    return y;

}
展开全部 16 讨论