首页 > 其他分享 >491. 非递减子序列c

491. 非递减子序列c

时间:2024-03-09 21:14:34浏览次数:14  
标签:numsSize index nums int returnSize 序列 array 递减 491

复试的人真的搞心态啊,怎么能这么变态,刷题这么块。哭了。

要是难一点的重复问题还是写for循环好点。

/**
 * Return an array of arrays of size *returnSize.
 * The sizes of the arrays are returned as *returnColumnSizes array.
 * Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().
 */
int temp[20];

void dfs(int* nums,int numsSize,int** array,int* returnSize,int* column,int index,int count,int last){
    if(index>numsSize) return;
    if(index==numsSize && count <=1) return;
    if(index==numsSize ){
        column[*returnSize]=count;
        array[*returnSize]=(int*)malloc(sizeof(int)*count);
        for(int i=0;i<count;i++) array[*returnSize][i]=temp[i];
        (*returnSize)++;
        return;
    }
    if(nums[index]>=last ){
        temp[count]=nums[index];
        dfs(nums,numsSize,array,returnSize,column,index+1,count+1,nums[index]);
    }
    if(nums[index]!=last ){
        dfs(nums,numsSize,array,returnSize,column,index+1,count,last);
    }
}


int** findSubsequences(int* nums, int numsSize, int* returnSize, int** returnColumnSizes) {
    *returnSize=0;
    int** array=(int**)malloc(sizeof(int*)*40000);
    int* column=(int*)malloc(sizeof(int)*40000);
    int last=INT_MIN;
    dfs(nums,numsSize,array,returnSize,column,0,0,last);
    *returnColumnSizes=column;
    return array;
}

结果:

标签:numsSize,index,nums,int,returnSize,序列,array,递减,491
From: https://www.cnblogs.com/llllmz/p/18063298

相关文章

  • 【力扣】非递减子序列
    题目代码如下:classSolution{public:vector<vector<int>>res;vector<int>path;booloccured(vector<int>&nums,intkey,intstartindex){for(inti=startindex;i<key;i++){if(nums[key]==nums[i]){......
  • php xss 反序列化漏洞
    介绍反序列化漏洞,利用了后端服务的设计缺陷序列化和反序列化对象=(序列化)》字符串对象《(反序列化)=字符串序列化字符串构建首先,理解下对象序列化后是个嘛玩意儿上代码<?phpclasstest{public$a='hello';private$b='hello';protected$c='h......
  • day58 动态规划part15 代码随想录算法训练营 392. 判断子序列
    题目:392.判断子序列我的感悟:理解难点:听课笔记:我的代码:通过截图:代码易错点:老师代码:扩展写法-双指针:classSolution:defisSubsequence(self,s:str,t:str)->bool:#初始化两个指针,分别指向s和t的第一个字符i,j=0,0#......
  • LeetCodeHot100 1.两数之和 46.字母异位词分组 128.最长连续序列
    1.两数之和https://leetcode.cn/problems/two-sum/description/?envType=study-plan-v2&envId=top-100-likedpublicint[]twoSum(int[]nums,inttarget){HashMap<Integer,Integer>map=newHashMap<>();for(inti=0;i<nums.l......
  • spring-JSON序列化
    1,使用场景。SpringBoot默认json为JackJson。在Controller需要返回Json数据时,我们使用了RestController,如果想对返回的数据进行一定的处理,也就是序列化对象为Json时使用。反序列化,就是当接收的参数想做一定处理,获取到处理后的数据时候。2,JsonSerializer序列化1,自定......
  • day57 动态规划part14 代码随想录算法训练营 1143. 最长公共子序列
    题目:1143.最长公共子序列我的感悟:你永远不知道自己有多厉害!加油!理解难点:递推公式如何想,通过图,来记忆。听课笔记:我的代码:classSolution:deflongestCommonSubsequence(self,text1:str,text2:str)->int:#假设text1为内层,text2为外层n......
  • P8058 [BalkanOI2003] Farey 序列 题解
    分析考虑二分答案。对于当前二分的答案\(x\),设\(cnt\)表示Farey序列中\(\frac{p}{q}\lex\)的满足条件的数量。对于一组\((i,j)\),若\(\frac{j}{i}\lex\),则\(j\le\lfloori\timesx\rfloor\)。得到暴力式子:\[cnt=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{\lfloo......
  • Spring反序列化失败 Type definition error: [simple type, class xxx.xxx.xxx]
    也许更好的阅读体验Typedefinitionerror:[simpletype,classcom.elm.po.CommonResult];nestedexceptioniscom.fasterxml.jackson.databind.exc.InvalidDefinitionException:Cannotconstructinstanceofcom.elm.po.CommonResult(noCreators,likedefaultconstru......
  • 1277. 维护序列
    #include<iostream>#include<stdio.h>#include<algorithm>#include<string>#defineFor(i,j,n)for(inti=j;i<=n;++i)usingnamespacestd;typedeflonglongLL;constintN=1e5+5;intn,m,P,a[N];structnod......
  • 106. 从中序与后序遍历序列构造二叉树 c
    /***Definitionforabinarytreenode.*structTreeNode{*intval;*structTreeNode*left;*structTreeNode*right;*};*/structTreeNode*buidl_tree(int*inorder,inthead1,intn1,int*postorder,inthead2,intn2){if(n1<......