代码随想录算法训练营第36期DAY57

DAY57

今天的好消息:能去华五。

1143最长公共子序列

Code:

  1. class Solution {
  2. public:
  3.     int longestCommonSubsequence(string text1, string text2) {
  4.         vector<vector<int>> dp(text1.size()+1,vector<int>(text2.size()+1,0));
  5.         for(int i=1;i<=text1.size();i++){
  6.             for(int j=1;j<=text2.size();j++){
  7.                 if(text1[i-1]==text2[j-1]) dp[i][j]=dp[i-1][j-1]+1;
  8.                 else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
  9.             }
  10.         }
  11.         return dp[text1.size()][text2.size()];
  12.     }
  13. };

1035不相交的线

分析法和上一题的图片一样。

  1. class Solution {
  2. public:
  3.     int maxUncrossedLines(vector<int>& nums1, vector<int>& nums2) {
  4.         vector<vector<int>>dp(nums1.size()+1,vector<int>(nums2.size()+1,0));
  5.         for(int i=1;i<=nums1.size();i++){
  6.             for(int j=1;j<=nums2.size();j++){
  7.                 if(nums1[i-1]==nums2[j-1]) dp[i][j]=dp[i-1][j-1]+1;
  8.                 else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
  9.             }
  10.         }
  11.         return dp[nums1.size()][nums2.size()];
  12.     }
  13. };

53最大子序和

竟然做过这一题,

Try again:

想起来了,是贪心算法,sum<0会减小后一位数字,因此continue;同时记录过程中的maxres.

没白学,做出来了,能感觉自己进步了很多:

  1. class Solution {
  2. public:
  3.     int maxSubArray(vector<int>& nums) {
  4.         int res=INT_MIN;
  5.         int sum=0;
  6.         for(int i=0;i<nums.size();i++){
  7.             sum+=nums[i];
  8.             res=max(sum,res);
  9.             if(sum<0){
  10.                 sum=0;
  11.                 continue;
  12.             }
  13.         }
  14.         return res;
  15.     }
  16. };

动态规划:

动态规划也想出来了,很厉害:

  1. class Solution {
  2. public:
  3.     int maxSubArray(vector<int>& nums) {
  4.         int res=0;
  5.         vector<intdp(nums.size()+1,0);
  6.         for(int i=1;i<=nums.size();i++){
  7.             dp[i]=max(0,dp[i-1]+nums[i-1]);
  8.             res=max(res,dp[i]);
  9.         }
  10.         sort(nums.begin(),nums.end());
  11.         if(nums[nums.size()-1]<0return nums[nums.size()-1];
  12.         return res;
  13.     }
  14. };

不用快排可以吗,当然:

  1. class Solution {
  2. public:
  3.     int maxSubArray(vector<int>& nums) {
  4.         int res=0,mymax=INT_MIN;
  5.         vector<intdp(nums.size()+1,0);
  6.         for(int i=1;i<=nums.size();i++){
  7.             mymax=max(mymax,nums[i-1]);
  8.             dp[i]=max(0,dp[i-1]+nums[i-1]);
  9.             res=max(res,dp[i]);
  10.         }
  11.         if(mymax<0return mymax;
  12.         return res;
  13.     }
  14. };

看看答案:

题解写得好:实现一下:

记得记录过程中的最大值,并且注意res的初值。

  1. class Solution {
  2. public:
  3.     int maxSubArray(vector<int>& nums) {
  4.         vector<intdp(nums.size());
  5.         int res=nums[0];
  6.         dp[0]=nums[0];
  7.         for(int i=1;i<nums.size();i++) dp[i]=max(dp[i-1]+nums[i],nums[i]),res=max(res,dp[i]);
  8.         return res;
  9.     }
  10. };

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【PowerDesigner】CDM生成PDM

目录 &#x1f30a;1. PowerDesigner简介 &#x1f30d;1.1 常用模型文件 &#x1f30d;1.2 PowerDesigner使用环境 &#x1f30a;2. CDM生成PDM ​​​​​​​&#x1f30a;3. 研究心得 &#x1f30a;1. PowerDesigner简介 &#x1f30d;1.1 常用模型文件 主要使用Pow…

家具板材ENF级甲醛释放量检测 板材甲醛含量测定

ENF级甲醛释放量检测 ENF级是指甲醛释放量非常低的板材&#xff0c;它代表了无醛添加的最高级别。根据最新的国家标准GB/T 39600-2021&#xff0c;ENF级板材的甲醛释放量不得超过0.025 mg/m。这个标准比欧洲的E1级&#xff08;甲醛释放量≤0.124 mg/m&#xff09;和美国的P2标准…

2024年,计算机相关专业还值得选择

随着2024年高考落幕&#xff0c;数百万高三学生又将面临人生中的重要抉择&#xff1a;选择大学专业。在这个关键节点&#xff0c;计算机相关专业是否仍是“万金油”的选择&#xff1f;在过去很长一段时间里&#xff0c;计算机科学与技术、人工智能、网络安全、软件工程等专业一…

移动端浏览器的扫描二维码实现(vue-qrcode-reader与jsQR方式)

1. 实现功能 类似扫一扫的功能&#xff0c;自动识别到画面中的二维码并进行识别&#xff0c;也可以选择从相册中上传。 2. 涉及到的一些插件介绍 vue-qrcode-reader 一组用于检测和解码二维码的Vue.js组件 jsQR 一个纯粹的javascript二维码阅读库&#xff0c;该库接收原始…

使用 3D 图形 API 在 C# 中将 PLY 转换为 OBJ

OBJ和PLY是一些广泛使用的 3D 文件格式&#xff0c;易于编写和读取。这篇博文演示了如何以编程方式在 C# 中将 PLY 转换为 OBJ。此外&#xff0c;它还介绍了一种用于 3D 文件格式转换的在线3D 转换器。是的&#xff0c;Aspose.3D for .NET为程序员和非程序员提供了此功能来执行…

MTK烧录USB驱动下载

下载链接 https://www.catalog.update.microsoft.com/Search.aspx?qMediaTek%20USB%20Port 驱动安装教程 https://miuiver.com/install-official-mediatek-driver/

交友系统定制版源码 相亲交友小程序源码全开源可二开 打造独特的社交交友系统

交友系统源码的实现涉及到多个方面&#xff0c;包括前端页面设计、后端逻辑处理、数据库设计以及用户交互等。以下是一个简单的交友系统源码实现的基本框架和关键步骤: 1.数据库设计:用户表:存储用户基本信息&#xff0c;如用户ID、用户名、密码、头像、性别、年龄、地理位置…

SpringCloud 前端-网关-微服务-微服务间实现信息共享传递

目录 1 网关获取用户校验信息并保存至请求头&#xff08;前端-网关&#xff09; 2 微服务获取网关中的用户校验信息&#xff08;网关-微服务&#xff09; 2.1 一般的做法是在公共的module中添加&#xff0c;此处示例为common 公共配置module中添加 2.2 定义拦截器 2.3 定义…

什么是微控制器中的欠压复位?如何防止误断电

微控制器的“掉电”是指电源电压部分暂时降低到可靠运行所需的水平以下。许多微控制器都有一个保护电路&#xff0c;可以检测电源电压何时低于此水平&#xff0c;并将设备置于复位状态&#xff0c;以确保电源恢复时正确启动。此操作称为“欠压复位”或 BOR。类似的功能称为低电…

数据不归路?文件清理的后悔药,2个文件恢复技巧

手机已成为我们生活中不可或缺的重要工具&#xff0c;它不仅仅是一个通讯设备&#xff0c;更是我们存储个人信息、工作文件、照片和视频等宝贵资料的仓库。然而&#xff0c;生活中的意外总是难以预料&#xff0c;有时候我们可能会不小心删除重要的文件&#xff0c;或者因为手机…

JVS规则引擎实战:如何轻松接入本地数据库数据

在当今数据驱动的时代&#xff0c;有效地接入和利用各种数据源是企业和组织实现智能化、自动化决策的关键。JVS-RULES通过支持多种数据形态&#xff0c;为用户提供了一个统一的数据接入平台&#xff0c;使不同来源的数据能够被整合并用于规则判断。接下来我给大家详细介绍如何通…

鸿蒙轻内核M核源码分析系列二十 Newlib C

LiteOS-M内核LibC实现有2种&#xff0c;可以根据需求进行二选一&#xff0c;分别是musl libC和newlibc。本文先学习下Newlib C的实现代码。文中所涉及的源码&#xff0c;均可以在开源站点https://gitee.com/openharmony/kernel_liteos_m 获取。 使用Musl C库的时候&#xff0c…

CSS之块浮动

在盒子模型的基础上就可以对网页进行设计 不知道盒子模型的可以看前面关于盒子模型的内容 而普通的网页设计具有一定的原始规律,这个原始规律就是文档流 文档流 标签在网页二维平面内默认的一种排序方式,块级标签不管怎么设置都会占一行,而同一行不能放置两个块级标签 行级…

Ubuntu编译虚幻引擎工程

前言 最近研究了一下在ubuntu编译虚幻引擎&#xff0c;发现确实做得很好&#xff0c;编译非常简单&#xff0c;这里记录一下。 下载虚幻引擎源码 源码下载地址如下https://www.unrealengine.com/zh-CN/linux 选择合适的版本即可&#xff0c;我这里选择的是UE5.1 安装dotnet驱动…

前端JS必用工具【js-tool-big-box】学习,获取当前浏览器向上滚动还是向下滚动,获取当前距离顶部和底部的距离

这一小节&#xff0c;我们说一下 js-tool-big-box 添加的最新工具方法&#xff0c;在日常前端开发工作中&#xff0c;如果网页很长&#xff0c;我们就需要获取当前浏览器是在向上滚动&#xff0c;还是向下滚动。如果向上滚动&#xff0c;滚动到0的时候呢&#xff0c;需要做一些…

金智易表通流程设置的若干问题

1、审批节点的审批人取应用权限组&#xff0c;权限组内任一人审批即可通过 在流程节点的主要配置环节&#xff0c;选择候选组 二、已审菜单要求看到自己审过的也能看到别人审过的&#xff0c;即能看到所有已审的记录 管理设置中取消按钮对流程的依赖&#xff0c;不根据流程审批…

二叉树最大深度

leetcode- 104-二叉树的最大深度 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3示例 2&#xff1a; 输入&…

阿一网络安全学院来向你科普关于企业安全服务

一、四大服务体系 1、可管理安全服务 在提供传统安全产品及安全服务的基础上&#xff0c;逐步开展安全运营&#xff0c;用开放的安全平台连接卓越的产品和服务&#xff0c;洞察安全态势&#xff0c;为企业级用户提供小时级的闭环安全保障。 2、安全咨询服务 为客户进行全方…

苹果AI一夜颠覆所有,Siri史诗级进化,内挂GPT-4o

苹果AI一夜颠覆所有&#xff0c;Siri史诗级进化&#xff0c;内挂GPT-4o 刚刚&#xff0c;苹果AI&#xff0c;正式交卷&#xff01; 今天&#xff0c;苹果构建了一个全新AI帝国——个人化智能系统Apple Intelligence诞生&#xff0c;智能助手Siri迎来诞生13年以来的史诗级进化…

2024年【G2电站锅炉司炉】报名考试及G2电站锅炉司炉考试报名

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 G2电站锅炉司炉报名考试是安全生产模拟考试一点通生成的&#xff0c;G2电站锅炉司炉证模拟考试题库是根据G2电站锅炉司炉最新版教材汇编出G2电站锅炉司炉仿真模拟考试。2024年【G2电站锅炉司炉】报名考试及G2电站锅炉…