非科班菜鸡算法学习记录 | 代码随想录算法训练营第52天||300.最长递增子序列 674.最长连续递增序列

news2024/9/22 23:24:31

300.最长递增子序列
300. Longest Increasing Subsequence(英文力扣连接)
知识点:动规
状态:不会
思路:

dp为取到i时的最长序列数字

dpi的值取决于前面比他小的数字(dpj)+1;并实时更新最大值

class Solution {
public:
    int lengthOfLIS(vector<int>& nums) {
        if(nums.size() ==1 ) return 1;
        vector<int> dp(nums.size(), 1);// 结尾取到i时的最递增序列数字
        int res = 0;
        for(int i = 1; i < nums.size(); i++) {
            for(int j = 0; j < i; j++) {
                if( nums[j] < nums[i]) {
                    dp[i] =max(dp[j] + 1 , dp[i]) ;
                    // 是比前面任何一个位置的数大,就更新dpi=dpj +1 ;
                }       
                if (dp[i] > res) res= dp[i]; 
                //最大值不一定是最后面的,所以要实时更新
            }
        }
        return res ;
    }
};

674.最长连续递增序列

674. Longest Continuous Increasing Subsequence(英文力扣连接)
知识点:动规
状态:看思路ok
思路:

是连续递增,只需要考虑前一个,而不是前面的每一个

class Solution {
public:
    int findLengthOfLCIS(vector<int>& nums) {
        vector<int> dp(nums.size(), 1);
        if(nums.size() == 1) return 1;
        int res = 0;
        for(int i = 1; i < nums.size(); i++) {
            if(nums[i-1] < nums[i]) dp[i]=dp[i-1]+1;
            res = max(res, dp[i]);
        }
        return res;
    }
};


718.最长重复子数组
718. Maximum Length of Repeated Subarray(英文力扣连接)
知识点:动规
状态:不会
思路:

dp[i][j]是指nums1[i-1]和nums2[j-1]为结束的长度,如果说dp[i][j]是指nums1[i]和nums2[j]为结束的话,不好初始化,因为需要比较每一个i和j相不相同;

class Solution {
public:
    int findLength(vector<int>& nums1, vector<int>& nums2) {
        vector<vector<int>> dp(nums1.size() + 1, vector<int>(nums2.size() + 1, 0 ));
        // dp[i][j]是指nums1[i-1]和nums2[j-1]为结束的长度
        int res= 0;        
        for(int i = 1; i <= nums1.size();i++){
            for(int j = 1; j <= nums2.size(); j++) {
                if( nums1[i-1] == nums2[j-1]) dp[i][j] = dp[i-1][j-1]+1;
                res =max(res, dp[i][j]);
            }
        }
        return res;
    }
};

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

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

相关文章

C语言----详解socket通信

一&#xff1a;什么是socket 刚接触socket的同学想必也知道socket的中文名&#xff0c;套接字&#xff0c;与其说是中文名倒不如说这是什么玩意&#xff0c;我们先不要管中文名的实际意义&#xff0c;我们先来了解一下什么是socket。 我们上网产生的数据都是经过协议栈一层一层…

linux并发服务器 —— 多进程并发 - 进程间的通信及实践(五)

进程间的通信 进程是一个独立的资源分配单元&#xff0c;不能在一个进程中直接访问另一个进程的资源&#xff1b; 进程间通信&#xff08;IPC&#xff09;的目的&#xff1a; 1. 数据传输 - A进程发送数据给B进程 2. 通知事件 - eg. 进程终止通知父进程 3. 资源共享 - 多个…

Middleware ❀ Kafka功能与使用详解

文章目录 1. 概述1.1. 消息队列1.2. 应用场景1.3. 工作模式1.4. 基础结构1.4.1. 结构组件1.4.2. 数据同步1.4.3. ACK机制1.4.4. 分区机制1.4.4.1. 使用Partition Key写入1.4.4.2. 轮询写入 - 默认规则1.4.4.3. 指定Partition写入 1.4.5. Offset偏移量1.4.5.1. 消息顺序性1.4.5.…

六级翻译备考

classical 经典的 Chinese literature 中国文学 朝代dynasty 统治 rule 社会稳定 steady society 治理有序 orderly governance 伟大的greatest 时代 times或者periods 被人们描绘成人类历史上伴随着治理有序&#xff0c;社会稳定的最伟大的时代之一 more and more越来越多 …

leetcode235. 二叉搜索树的最近公共祖先(java)

二叉搜索树的最近公共祖先 题目描述递归 剪枝代码演示&#xff1a; 上期经典 题目描述 难度 - 中等 LC235 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个结点 p、q…

结合OB Cloud区别于MySQL的4大特性,规划降本方案

任何一家企业想要获得持续性的发展与盈利&#xff0c;“降本增效”都是难以绕开的命题。但是“一刀切”的降本影响往往不太可控&#xff0c;成本的快速收缩往往会给业务带来低效运营和增长缓慢的风险。所以我们所说的降本&#xff0c;是指在成本降低的同时&#xff0c;效率不降…

【附安装包】Tecplot 360 EX2021安装教程

软件下载 软件&#xff1a;Tecplot 360版本&#xff1a;2021语言&#xff1a;英文大小&#xff1a;367.36M安装环境&#xff1a;Win11/Win10/Win8/Win7硬件要求&#xff1a;CPU2.5GHz 内存4G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;https://pan.baid…

冠达管理:成交量突然放大意味着什么?

在股票商场中&#xff0c;成交量是股市中非常重要的目标之一。股票成交量是指在一定时间内股票买卖所成交的总股数。当成交量忽然扩大时&#xff0c;这意味着股票商场的很多买卖正在产生&#xff0c;这一般会引起出资者的注重。在本文中&#xff0c;我们将从多个视点来剖析成交…

理解FPGA中的亚稳态

一、前言 大家应该经常能听说到亚稳态这个词&#xff0c;亚稳态主要是指触发器的输出在一段时间内不能达到一个确定的状态&#xff0c;过了这段时间触发器的输出随机选择输出0/1&#xff0c;这是我们在设计时需要避免的。本文主要讲述了FPGA中的亚稳态问题&#xff0c;可以帮助…

JVM虚拟机对象探秘

对象的创建 Java是一门面向对象的编程语言&#xff0c;创建对象通常只是通过new关键字。 对象创建过程 当Java虚拟机遇到一条字节码new指令时&#xff0c;首先将去检查这个指令的参数是否能在常量池中定位到 一个类的符号引用&#xff0c;并且检查这个符号引用&#xff08;类…

uni-app 客服按钮可上下拖动动

项目需求&#xff1a; 因为悬浮客服有时候会遮挡住界面内容&#xff0c;故需要对悬浮的气泡弹窗做可拖动操作 movable-area&#xff1a;可拖动区域 movable-view&#xff1a;可移动的视图容器&#xff0c;在页面中可以拖拽滑动或双指缩放。 属性说明 属性名类型默认值说…

提高中小企业组网效率的关键要素与技术选项

如今的商业环境中&#xff0c;中小企业扮演着重要角色&#xff0c;它们通常是由创业者或小型团队组成&#xff0c;拥有有限的人力资源和财务能力。尽管规模较小&#xff0c;中小企业一样面临着与大型企业相似的竞争压力和业务组网需求。 在数字化时代&#xff0c;中小企业对于高…

MTK6761/MT6761安卓核心板4G安卓智能模块详细参数性能介绍

MTK6761 安卓核心板采用12nm制程四核Cortex-A53、最高主频2.0GHZ 处理器&#xff0c;板载内存为 1GB8GB(2GB16GB、3GB32GB、4GB64GB)&#xff0c;搭载Android 9.0操作系统。 MTK6761&#xff08;曦力 A22&#xff09;安卓核心板基本概述 MTK6761安卓核心板 是一款高性能低功耗…

GCash all in OB Cloud,打造菲律宾国民级钱包APP

GCash 创立于 2017 年&#xff0c;由菲律宾电信巨头 GlobeTelecom 推出&#xff0c;是菲律宾排名第一的移动钱包和该国首个双独角兽公司&#xff0c;主要为用户在智能手机上提供储蓄、贷款、保险和投资服务。截止 2022 年 6 月&#xff0c;GCash 注册用户数量达 6600 万&#x…

centos 7的超详细安装教程

打开虚拟机&#xff0c;创建一个新电脑 我们选择经典&#xff0c;然后选择下一步 我们选择稍后安装&#xff0c;我们在后面进行改设备 因为centos系统是linux系统的一个版本&#xff0c;所有我们选择linux&#xff0c;版本选择centos 7 64位&#xff0c;然后就是点击下一步 这一…

座舱3.0时代!产业涌现哪些新机会?

智能座舱一直是汽车智能化普及的领跑角色&#xff0c;目前已经逐步进入了软件定义座舱的新周期。 过去几年&#xff0c;中控多媒体系统、车载语音、OTA等单一功能的搭载率已经快速普及。其中&#xff0c;中控娱乐系统的前装渗透率已经超过90%。高工智能汽车研究院监测数据显示…

Vue/React 项目部署到服务器后,刷新页面出现404报错

问题描述&#xff1a;在本地启动项目一切正常&#xff0c;部署到服务器上线后出现BUG&#xff0c;项目刷新页面出现404。 起初以为是自己路由守卫或是token丢失问题&#xff0c;找了一圈终于解决了 产生原因&#xff1a;我们打开vue/react打包后生成的dist文件夹&#xff0c;可…

TS 入门

TS 入门 interface 约束作用数组的声明方式函数的定义联合类型、交叉类型、断言类型类的方面 interface 约束作用 数组的声明方式 函数的定义 联合类型、交叉类型、断言类型 类的方面 这是代码的地址&#xff1a; 代码的地址

N5182A矢量信号发生器

产品概述 是德科技N5182A(安捷伦)MXG射频矢量信号发生器具有快速频率、幅度和波形切换、带电子衰减器的高功率和高可靠性——所有这些都在两个机架单元(2RU)中。是德科技N5182A针对制造蜂窝通信和无线连接组件进行了优化。是德科技N5182A通过增加吞吐量、提高测试产量、最大化…

【JavaScript精通之道】掌握数据遍历:解锁现代化遍历方法,提升开发效率!

​ &#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! ​ 目录 &#x1f4da; 前言 &#x1f4d8; 1. reduce方法 &#x1f4d8; 2. forEach方法 &#x1f4d8; 3. map方法…