【动态规划】673. 最长递增子序列的个数

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

解题思路

  • 本题改造最长递增子序列
  • 但是最长子序列的长度不止一个
  • dp数组代表以nums[i]结尾的最长子序列长度
  • count[i]代表以nums[i]结尾的最长子序列的个数
  • 那么当nums[i]大于前面的元素nums[j]的时候,计算dp[i]和dp[j] + 1的大小,如果dp[i]更大,那么说明找到一个更长的子序列 更新count
  • 如果两者相等,count[i] += count[j] 说明出现同样长度的子序列
class Solution {public int findNumberOfLIS(int[] nums) {// 和零钱问题一样  求解满足条件的子问题的个数int n = nums.length;if(n == 1){return 1;}int[] dp = new int[n];int[] count = new int[n];Arrays.fill(dp,1);Arrays.fill(count,1);int maxLength = 0;for(int i = 1; i < n; i++){for(int j = 0; j < i; j++){if(nums[i] > nums[j]){// 遍历前面的所有元素  找到一个元素比他小if(dp[j] + 1 > dp[i]){// 说明找到一个更长的递增序列dp[i] = dp[j] + 1;count[i] = count[j];}else if(dp[j] + 1 == dp[i]){count[i] += count[j];// 说明出现同样长度的最长子序列}}}maxLength = Math.max(maxLength,dp[i]);}int res = 0;for(int i = 0; i < n; i++){if(dp[i] == maxLength){res +=count[i];}}return res;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/587819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新手快速上手掌握基础排序<一>

目录 引言 一&#xff1a;两数互换排序 1.画图分析 2.代码实现 二&#xff1a;三数换交换排序 1.例题举例 2.代码实现 3.再比如四数互换排序&#xff0c;也可以使用两数互换的方法来实现 &#xff0c;但最好使用基础的排序方法(冒泡法&#xff0c;选择法) 三&#xf…

PointNet人工智能深度学习简明图解

PointNet 是一种深度网络架构&#xff0c;它使用点云来实现从对象分类、零件分割到场景语义解析等应用。 它于 2017 年实现&#xff0c;是第一个直接将点云作为 3D 识别任务输入的架构。 本文的想法是使用 Pytorch 实现 PointNet 的分类模型&#xff0c;并可视化其转换以了解模…

一个WebSocket的自定义hook

一个WebSocket的自定义hook 自己封装了一个WebSocket的hook,代码如下&#xff1a; import { useEffect, useRef } from "react";const WS_URL wss://xxx // 服务地址const useSocket () > {const socketRef useRef<WebSocket>()let heartTimer 0; // …

【python】爬取百度热搜排行榜Top50+可视化【附源码】【送数据分析书籍】

一、导入必要的模块&#xff1a; 这篇博客将介绍如何使用Python编写一个爬虫程序&#xff0c;从斗鱼直播网站上获取图片信息并保存到本地。我们将使用requests模块发送HTTP请求和接收响应&#xff0c;以及os模块处理文件和目录操作。 如果出现模块报错 进入控制台输入&#xff…

第82讲:MySQL Binlog日志的滚动

MySQL Binlog日志的滚动 MySQL Binlog日志滚动指的就是产生一个新的Binlog日志&#xff0c;然后进行记录&#xff0c;因为如果都在一个Binlog中记录&#xff0c;查询是非常慢的&#xff0c;检索的效率也很低。 Binlog日志滚动有三种方法&#xff1a; 重启MySQL 数据库一般不重…

android开发调用百度地图api实现加载地图和定位

目录 一.踩的一些坑以及解决方法 1.权限声明不要少 2.地图初始化 3.定位问题 &#xff08;1&#xff09;监听器注册 &#xff08;2&#xff09;定位监听器类MyLocationListener的实现 &#xff08;3&#xff09;定位功能的调用 4.android studio连接真机调试问题 二.…

Spring Boot应用整合Prometheus

Spring Boot Actuator 提供了一组用于监控和管理 Spring Boot 应用程序的端点&#xff0c;而 Prometheus 是一个开源的监控和告警工具。通过将这两者结合起来&#xff0c;您可以实时监控您的应用程序的性能指标&#xff0c;并通过 Prometheus 提供的丰富的查询语言来分析和可视…

MySQL:索引

MySQL官方对索引的定义为: 索引 (Index) 是帮助MySQL高效获取数据的数据结构。 提取句子主干&#xff0c;就可以得到索引的本质:索引是数据结构。 1. 什么是索引&#xff0c;索引的作用 索引是一种用于快速查询和检索数据的数据结构&#xff0c;帮助mysql提高查询效率的数据…

ros2查看launch文件内需要提供的参数(接口):

格式&#xff1a;ros2 launch --show-args 包名称 launch文件名称 例如&#xff1a; ros2 launch --show-args ros_gz_sim gz_sim.python.py

行人重识别优化:Pose-Guided Feature Alignment for Occluded Person Re-Identification

文章记录了ICCV2019的一篇优化遮挡行人重识别论文的知识点&#xff1a;Pose-Guided Feature Alignment for Occluded Person Re-Identification 论文地址&#xff1a; https://yu-wu.net/pdf/ICCV2019_Occluded-reID.pdf Partial Feature Branch分支: PCB结构&#xff0c;将…

精致旅游网ROXANDREA 网页设计 html模板

一、需求分析 旅游网站通常具有多种功能&#xff0c;以下是一些常见的旅游网站功能&#xff1a; 酒店预订&#xff1a;旅游网站可以提供酒店预订服务&#xff0c;让用户搜索并预订符合其需求和预算的酒店房间。 机票预订&#xff1a;用户可以通过旅游网站搜索、比较和预订机票…

JavaScript 工具库 | PrefixFree给CSS自动添加浏览器前缀

新版的CSS拥有多个新属性&#xff0c;而标准有没有统一&#xff0c;有的浏览器厂商为了吸引更多的开发者和用户&#xff0c;已经加入了最新的CSS属性支持&#xff0c;这其中包含了很多炫酷的功能&#xff0c;但是我们在使用的时候&#xff0c;不得不在属性前面添加这些浏览器的…

毕业设计之开题报告

终于轮到我来写开题报告了&#xff0c;呃呃呃呃呃&#xff0c;目前有点难产了。想做的东西是关于区块链的后端设计实现&#xff0c;但是因为是完全原创之前没有类似的项目能去参考&#xff0c;所以其实有点慌的。 框架梳理 这是我们开题报告的要求&#xff1a; 包括题目研究的…

Django框架:入门指南与常用命令

引言&#xff1a; 在当今的Web开发世界中&#xff0c;Django无疑是一个备受瞩目的框架。它以其强大的功能和易用性&#xff0c;吸引着越来越多的开发者。这篇博客将为你提供一个关于Django的概览&#xff0c;以及一些常用的命令&#xff0c;帮助你快速上手。 一、Django简介&…

GPT技术:人工智能的语言革命

在人工智能的领域中&#xff0c;自然语言处理&#xff08;NLP&#xff09;一直是一个极具挑战性的研究领域。随着技术的进步&#xff0c;一个名为GPT&#xff08;Generative Pre-trained Transformer&#xff09;的模型出现在了公众的视野中&#xff0c;它不仅改变了我们与机器…

Java项目:102SSM汽车租赁系统

博主主页&#xff1a;Java旅途 简介&#xff1a;分享计算机知识、学习路线、系统源码及教程 文末获取源码 一、项目介绍 汽车租赁系统基于SpringSpringMVCMybatis开发&#xff0c;系统使用shiro框架做权限安全控制&#xff0c;超级管理员登录系统后可根据自己的实际需求配角色…

uniapp的css样式图片大小截图展示

目录 截取图片前截取图片后第一种方式&#xff1a;代码第二种方式&#xff1a;代码最后 截取图片前 截取图片后 第一种方式&#xff1a;代码 <view class"swiper-box-img"><image class"swiper-box-img-img" :src"item.file_path" mod…

我自己的Mac装机软件推荐!

我自己的Mac装机软件推荐&#xff01; 以下内容是我自己用着挺舒服的&#xff0c;使用频率很高的mac软件&#xff0c;写在这里留个印记。 之前好多mac破解软件网址没了&#xff0c;macbl现在还活着也还用起来不错&#xff5e; 首先还是推荐windows和mac双持用户看看我的这篇文…

Windows系统历史版本简介详细版

学习目标&#xff1a; 目录 学习目标&#xff1a; 学习内容&#xff1a; 学习产出&#xff1a; Windows 11的全新用户界面设计&#xff1a;学习新的任务栏、开始菜单、窗口管理等界面元素的使用与操作。 Windows 11的新功能和特点&#xff1a;学习新的虚拟桌面、Microsoft Team…

SLAM学习入门--什么是回环检测

文章目录 SLAM001 什么是回环检测?002 常用的回环检测方法有哪些?003 介绍一下Gauss-Netwon和LM算法004 介绍一下Ceres优化库,比如你使用过里面哪些内容?005 描述(扩展)卡尔曼滤波与粒子滤波,你自己在用卡尔曼滤波时遇到什么问题没有?006 除了视觉传感,还用过其他传感…