673. 最长递增子序列的个数
📅 2026/7/22 9:41:33
👁️ 次浏览
题目描述给定一个未排序的整数数组numsnumsnums 返回最长递增子序列的个数 。注意这个数列必须是严格递增的。示例 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。算法原理前置算法假设现在有一个数组nums[2,3,1,2,3]nums [2, 3, 1, 2, 3]nums[2,3,1,2,3]要求一次遍历求出这个数组中最大值的出现次数怎么做呢可以设置两个变量mmm和cntcntcntmmm用来记录最大值cntcntcnt用来记录最大值的出现次数初始化mnums[0]cnt1m nums[0]cnt1mnums[0]cnt1从左到右遍历numsnumsnums遍历时nums[i]mnums[i] mnums[i]m说明nums[i]nums[i]nums[i]不可能是最大值什么也不做nums[i]mnums[i] mnums[i]m说明nums[i]nums[i]nums[i]是假定的最大值cntcntcntnums[i]mnums[i] mnums[i]m说明nums[i]nums[i]nums[i]更大是可能的最大值更新mnums[i],cnt1m nums[i], cnt 1mnums[i],cnt1当遍历完时mmm就保存了最大值cntcntcnt就保存了最大值的出现次数动态规划状态表示子序列问题一般以经验题目要求得到经验就是以某一个位置为结尾题目要求就是最长递增子序列的个数所以count[i]count[i]count[i]表示以iii位置为结尾的所有子序列中最长递增子序列的个数。由于不知道最长递增子序列长度所以根本求不了个数所以还需要一个数组lenlenlenlen[i]len[i]len[i]表示以iii位置为结尾的所有子序列中最长递增子序列的长度。状态表示可总结为count[i]count[i]count[i]以iii位置为结尾的所有子序列中最长递增子序列的个数len[i]len[i]len[i]以iii位置为结尾的所有子序列中最长递增子序列的长度状态转移方程以iii位置为结尾的子序列可以分为长度1 11和长度1 11的。根据前置算法可以同时填count,lencount, lencount,len两个表对于长度1 11的子序列最长递增子序列只有它自己所以len[i]1,count[i]1len[i] 1, count[i] 1len[i]1,count[i]1对于长度1 11的子序列一般是以i−1,i−2,...,0i-1, i-2, ..., 0i−1,i−2,...,0位置元素为结尾的最长递增子序列再带上iii位置上的元素。假设0ji−10 j i-10ji−1如果nums[j]nums[i]nums[j] nums[i]nums[j]nums[i]说明iii位置元素可以跟在以jjj位置元素为结尾的最长递增子序列之后此时新最长递增子序列的长度就是以jjj位置元素为结尾的最长递增子序列长度1 11也就是len[j]1len[j] 1len[j]1。如果len[j]1len[i]len[j] 1 len[i]len[j]1len[i]说明又出现了一个可能的最长递增子序列统计最长递增子序列的个数count[i]count[j]count[i] count[j]count[i]count[j]。如果len[j]1len[i]len[j] 1 len[i]len[j]1len[i]说明不可能是最长递增子序列此时啥也不做。如果len[j]1len[i]len[j] 1 len[i]len[j]1len[i]说明有更长的最长递增子序列更新len[i]len[j]1,count[i]count[j]len[i] len[j] 1, count[i] count[j]len[i]len[j]1,count[i]count[j]初始化以每个位置为结尾的最长递增子序列长度至少为111至少有111个所以初始化len,countlen, countlen,count为全111填表顺序从左到右返回值使用一次遍历的思想遍历len,countlen, countlen,count来找到最大的长度统计出现次数代码classSolution{public:intfindNumberOfLIS(vectorintnums){intnnums.size();vectorintlen(n,1),count(n,1);intmaxLenlen[0],cntcount[0];for(inti1;in;i){for(intji-1;j0;--j)// 找到以 [0, i-1] 结尾的递增子序列长度{if(nums[i]nums[j])// 能构成以 i 结尾的递增子序列{if(len[j]1len[i])// 当前递增子序列的长度 假定的最长递增子序列长度{count[i]count[j];// 更新最长递增子序列的个数}elseif(len[j]1len[i])// 当前递增子序列的长度 假定的最长递增子序列长度{len[i]len[j]1;// 更新最长递增子序列长度count[i]count[j];// 更新最长递增子序列的个数}}}if(len[i]maxLen){cntcount[i];}elseif(len[i]maxLen){maxLenlen[i];cntcount[i];}}returncnt;}};
Claude Design 使用体验
先汇报一下进度
感觉越来越像4399小游戏了……
本周新增功能:
✅ 背包系统:包括原始中药、中药饮片、方剂、书籍。其中原始中药部分已提供AI生图素材。
背包.gif
✅ 辨证游戏壳子:舌诊 → 脉诊 → 问诊 → 辨证 → 选…
📅 2026/7/22 9:41:33
1. OpenClaw爆火现象解析:Agent硬件生态的平民化革命OpenClaw的突然走红绝非偶然。这个号称"无需Mac Mini也能1分钟部署"的Agent工具,正在颠覆传统硬件开发的门槛。过去要搭建一个可用的Agent开发环境,开发者通常需要购置至少一台M…
📅 2026/7/22 9:41:33
智赋岐黄是面向大健康机构的科技中医基础设施平台,而非单一设备或软件销售商。它通过整合中医AI大模型、四诊仪、互联网医院和智慧供应链等六大基础设施,帮助健康管理中心、连锁药店、养生门店等机构快速搭建可落地、可复制的中医AI服务体系。据平台资料…
📅 2026/7/22 9:41:33
本文关键词:geo news earth qwake说实话,最近这阵子网上关于geo news earth qwake的讨论真的挺火的,我本来没太在意,觉得也就是个普通的科技或者地质圈子里的小话题。但前两天跟几个搞数据分析的朋友喝茶,他们非拉着我说这事儿背后有点门道。我就寻思着,既然大家都这么关…
📅 2026/7/22 11:12:48
变量、数组、链表:20260720笔记整理--C语言基础-CSDN博客
双向链表 链表结构:
#include <stdio.h>
#include <stdlib.h>
//链表结构
typedef struct Node{int data;struct Node *pre,*next;
}Node,*LinkNode;定义虚拟头结点:
…
📅 2026/7/22 11:12:59
了解即可
📑 文章目录
一、L5 在 OSI 七层里的定位二、L5 会话层的 5 个核心功能 1️⃣ 会话建立(Session Establishment)2️⃣ 会话维护(Session Maintenance)3️⃣ 对话控制(Dialog Control)…
📅 2026/7/22 11:12:59
为什么需要它 / Why
开发者在不同网络环境下经常需要在「官方源」与「国内镜像源」之间反复切换:nrm 解决了 npm 的痛点,但 pip、brew、docker、maven、go、cargo、yum、apt…… 每一个都要查一遍文档、改一遍配置文件。本套件把这些操作统一起来&#x…
📅 2026/7/22 11:12:59
做包装设计、物流检测的小伙伴常会头疼:同样是 ISTA 3 系列运输模拟测试,3A、3B、3E 长得很像,每次送检都分不清,选错标准不仅白做实验、浪费成本,测试结果还不具备参考价值。其实三者的适用货物、运输场景、整套测试流…
📅 2026/7/22 11:12:59
全民健康需求逐步转向亚健康前置预防,传统人工望诊依靠医师经验判断,主观偏差大、数据无法留存、专业门槛高,难以满足线下门店标准化运营需求。华海健康自研 AI 智能健康分析仪,融合专业中医理论与人工智能技术,依托完…
📅 2026/7/22 11:12:59
1. 项目概述与SYSCFG模块的核心价值在嵌入式系统,尤其是像TI C6000系列这样的高性能DSP开发中,我们常常会与芯片手册里那些密密麻麻的寄存器打交道。很多开发者可能更关注算法实现、内存优化或者外设驱动,但对于一个稳定、高效的系统而言&…
📅 2026/7/22 0:00:13
1. 为什么我们需要"最次"的通知方案? 在数字化协作环境中,消息通知系统的重要性不言而喻明。但现实情况是,企业级通知方案往往需要复杂的API对接(如企业微信、钉钉、飞书),个人开发者的小项目又经…
📅 2026/7/22 0:00:13
甲方说"简洁一点",乙方听到的是"少做几页"。甲方说"不要太复杂",乙方理解成"别放图表了"。结果交过去,甲方说"我说的简洁不是这个意思"。"简洁"这个词在PPT语境里,是…
📅 2026/7/22 0:00:13
1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…
📅 2026/7/22 1:05:21
1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…
📅 2026/7/22 1:05:21
更多请点击:
https://intelliparadigm.com
第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…
📅 2026/7/22 1:05:21
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/22 7:05:39
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/21 17:04:52
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/22 5:05:32