当前位置:网站首页>LeetCode:673. 最长递增子序列的个数
LeetCode:673. 最长递增子序列的个数
2022-07-06 08:44:00 【Bertil】
给定一个未排序的整数数组 nums , 返回最长递增子序列的个数 。
注意 这个数列必须是 严格 递增的。
示例 1:
输入: [1,3,5,4,7]
输出: 2
解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1, 3, 5, 7]。
示例 2:
输入: [2,2,2,2,2]
输出: 5
解释: 最长递增子序列的长度是1,并且存在5个子序列的长度为1,因此输出5。
提示:
- 1 <= nums.length <= 2000
- -10^6 <= nums[i] <= 10^6
解题思路
1.首先初始化两个数组:状态dp[i]表示以nums[i] 结尾的最长上升子序列的长度,count[i] 表示以nums[i] 结尾的最长上升子序列的个数
2.然后找到最长子序列并且做好标记
3.最后统计最长子序列出现的次数并且返回
代码
/** * @param {number[]} nums * @return {number} */
var findNumberOfLIS = function(nums) {
// 初始化dp数组
let len = nums.length;
let dp = Array(len).fill(1);
let count = Array(len).fill(1);
let res = 0;
// 找到最长子序列并做好标记
for(let i = 0; i < len; i++) {
for(let j = 0; j < i; j++) {
if(nums[i] > nums[j]) {
// Math.max...的写法
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]
}
}
}
}
// 统计一下 max 出现的次数
let max = Math.max(...dp);
// 这里想要统计所有LIS的个数就要遍历
for (let i = 0; i < len; i ++) if(dp[i] === max) res += count[i];
return res;
};
边栏推荐
- The network model established by torch is displayed by torch viz
- 目标检测——Pytorch 利用mobilenet系列(v1,v2,v3)搭建yolov4目标检测平台
- On the inverse order problem of 01 knapsack problem in one-dimensional state
- Modify the video name from the name mapping relationship in the table
- TDengine 社区问题双周精选 | 第三期
- JVM performance tuning and practical basic theory - Part 1
- gcc动态库fPIC和fpic编译选项差异介绍
- @Jsonbackreference and @jsonmanagedreference (solve infinite recursion caused by bidirectional references in objects)
- 【ROS】usb_ Cam camera calibration
- 2022.02.13 - 238. Maximum number of "balloons"
猜你喜欢
Chrome浏览器的crash问题
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
pcd转ply后在meshlab无法打开,提示 Error details: Unespected eof
visdom可视化实现与检查介绍
游戏解包的危害及资源加密的重要性
Light of domestic games destroyed by cracking
2022.02.13 - NC002. sort
【ROS】usb_ Cam camera calibration
vb.net 随窗口改变,缩放控件大小以及保持相对位置
704 二分查找
随机推荐
Roguelike game into crack the hardest hit areas, how to break the bureau?
R language ggplot2 visualization, custom ggplot2 visualization image legend background color of legend
LeetCode:162. 寻找峰值
【ROS】usb_cam相机标定
sys. argv
Computer cleaning, deleted system files
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
Research Report on Market Research and investment strategy of microcrystalline graphite materials in China (2022 Edition)
Image,cv2读取图片的numpy数组的转换和尺寸resize变化
What is the role of automated testing frameworks? Shanghai professional third-party software testing company Amway
TP-LINK 企业路由器 PPTP 配置
Cisp-pte practice explanation
View computer devices in LAN
Deep analysis of C language pointer
Revit 二次开发 HOF 方式调用transaction
win10系统中的截图,win+prtSc保存位置
PC easy to use essential software (used)
C語言雙指針——經典題型
Unified ordering background interface product description Chinese garbled
Process of obtaining the electronic version of academic qualifications of xuexin.com