当前位置: 首页 > news >正文

力扣No.673.最长递增子序列的个数

题目:

链接:

https://leetcode.cn/problems/number-of-longest-increasing-subsequence/description/

代码:

class Solution {
    public int findNumberOfLIS(int[] nums) {
        int n=nums.length;
        int[] len=new int[n];
        int[] count=new int[n];
        //初始化
        for(int i=0;i<n;i++) len[i]=count[i]=1;
        int maxLen=0,maxCount=0;
        for(int i=0;i<n;i++){
            for(int j=0;j<i;j++){
                //转移方程
                if(nums[i]>nums[j]){
                    if(len[i]==len[j]+1){
                        count[i]+=count[j];
                    }else if(len[i]<len[j]+1){
                        len[i]=len[j]+1;
                        count[i]=count[j];
                    }
                }
            }
            //返回值
            if(maxLen<len[i]){ 
                maxLen=len[i];
                maxCount=count[i];
            }else if(maxLen==len[i]){
                maxCount+=count[i];
            }
        }
        //返回结果
        return maxCount;
    }
}

状态表示:

  • len[i]表示:以i结尾的子序列中,最长递增子序列的长度
  • count[i]表示:以i结尾的子序列中,最长递增子序列的个数

相关文章:

  • 【css酷炫效果】实现鱼群游动动态效果
  • 使用OBS进行webRTC推流参考
  • 封装element-plus的组件暴露原生属性和方法
  • MultiPost--多平台博客发布工具
  • 【大语言模型_5】xinference部署embedding模型和rerank模型
  • Hyperlane:Rust 语言打造的 Web 后端框架新标杆
  • MySQL意向锁我该怎么理解?
  • 自然语言处理(2)—— NLP之百年风雨路
  • 第七次作业,网络防御高级
  • 适配iOS 18:检测并移除三方库中的 bitcode 部分
  • 大数据学习(70)-大数据调度工具对比
  • Trae IDE 介绍与使用教程
  • 大模型架构记录6-推荐算法
  • leetcode29. 两数相除-medium
  • TSB - AD 解读 — 迈向可靠、透明的 TSAD 任务
  • Power Apps 技术分享:画布应用使用表单控件
  • 接入层、汇聚层 和 核心层
  • WebRTC 介绍
  • PyQt6内嵌http.server Web 和Flask Web服务器方法详解
  • 【java零碎知识点】------返回值类型的大小排序
  • 奥利弗·斯通回顾越战50周年:我们不善于总结历史教训
  • 普京:“胜利日停火”已开始生效
  • 农行原首席专家兼浙江省分行原行长冯建龙主动投案被查
  • 吴清:创造条件支持优质中概股企业回归内地和香港股市
  • 金融监管总局:正在修订并购贷款管理办法,将进一步释放并购贷款的潜力
  • 印巴冲突升级,巴防长称已击落5架印度战机