首页 > 其他分享 >【code基础】判断数组中每个元素前递增序列子序列的最大长度

【code基础】判断数组中每个元素前递增序列子序列的最大长度

时间:2022-09-30 12:22:40浏览次数:51  
标签:code nums int res 递增 元素 序列

这是力扣刷题中很经典的一个套路,类似有:

  1. 以下标i为标准,其之前最长的非递增序列的个数
  2. 以下标i为标准,其之后的最长非递减序列的个数
//以下标i为标准,其之前最长的非递增序列的个数
int[] res = new int[nums.length];
 //下标i之前的k个元素是非递增的线段数 。
for (int i = 2; i < nums.length; i++) {
    //如果后面元素比前一个元素大,即为递增的,不满足非递增,left[i]=0;
    if (nums[i - 1] > nums[i - 2]) {
        res[i]=0;
    }
    //否则是递增的,在前一个结果上+1
    else res[i]= res[i - 1] + 1;
}

//以下标i为标准,其之后的最长非递减序列的个数
int[] res1 = new int[nums.length];
for (int i = nums.length - 3; i >= 0; i--) {
//如果后前面元素比后一个元素大,即为递减的,不满足非递减,right[i]=0;
    if(nums[i + 1] > nums[i + 2]){
        res1[i] =  0;
    }else{
        //否则是递减的,在前一个结果上+1
        res1[i] =  res1[i + 1] + 1;
    }
}

标签:code,nums,int,res,递增,元素,序列
From: https://www.cnblogs.com/xiaoyu-jane/p/16744516.html

相关文章

  • uber go code 规范(指导原则)
    前言从接触Golang到现在,感觉到的很深的一点是,go的代码无论是大佬还是菜鸟写出的代码,都有着大体统一的格式/流程,这也是Go被开发者喜爱的一个原因,但是还有......
  • uber go code 规范(性能)
    前言从接触Golang到现在,感觉到的很深的一点是,go的代码无论是大佬还是菜鸟写出的代码,都有着大体统一的格式/流程,这也是Go被开发者喜爱的一个原因,但是还有......
  • vscode 设置引用分层
    前言对于一个团队来讲,维持一样的代码风格非常重要.而现代的开发工具,都提供了很好的支持,这里简单记录一下VsCode的一些设置VsCode安装Go插件在VsCode中安......
  • [CodeForce] Maximum Subsequence
    ProblemStatement 1.Nisupto35,sotryingallpossiblesubsequencesistooslow(2^35).WecanapplythemeetinthemiddletechniqueanddivideAinto......
  • vscode 指定 anaconda创建的python虚拟环境
    1点击左下角的设置。2点击commandpalette。3搜索框输入Python:SelectInterpreter。4选择虚拟环境。......
  • Educational Codeforces Round 136 C-D
    D.ResetKEdges显然对于每个k每个答案具有单调性我们考虑二分一个能保留的最大长度x然后我们自上至下肯定不好操作我们考虑自下而上对于每次到达了我们最大长度x......
  • 摆脱鼠标操作 - vscode - vim Ctrl + hjkl 我定位为 上下翻半页和行头行尾
    为什么摆脱鼠标操作-vscode-vimCtrl+hjkl我定位为上下翻半页和行头行尾翻页和当前行的开头结尾我觉得都是高频操作实现settings.json还附加了几个其他......
  • C# Unicode编码解码
    Unicode是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的......
  • CodeTyphon跨平台交叉编译配置
    CodeTyphon和Lazarus的关系相当于就是ubuntu和linux的关系https://www.lmlphp.com/user/57824/article/item/1643421/不过CodeTyphon提供了很多一键配置即可使用的交叉......
  • Leetcode 680 -- 双指针&贪心
    题目描述验证回文串思路代码classSolution{public:boolpalindrome(string&s,inti,intj){for(;i<j&&s[i]==s[j];++i,--j);......