当前位置: 首页 > news >正文

代码随想录算法训练营第五十六天|1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和 动态规划

1143. 最长公共子序列

int longestCommonSubsequence(char * text1, char * text2){int len1 = strlen(text1);int len2 = strlen(text2);int dp[len1+1][len2+1];for (int i = 0; i <= len1; i++){for (int j = 0; j <= len2; j++){dp[i][j] = 0;}}for (int i = 1; i <= len1; i++){for (int j = 1; j <= len2; j++){if (text1[i-1] == text2[j-1]) {dp[i][j] = dp[i-1][j-1] + 1;}else {dp[i][j] = fmax(dp[i-1][j], dp[i][j-1]);}}}   return dp[len1][len2];
}

1035. 不相交的线

与1143.最长公共子序列一样

int maxUncrossedLines(int* nums1, int nums1Size, int* nums2, int nums2Size){int len1 = nums1Size;int len2 = nums2Size;int dp[len1+1][len2+1];for (int i = 0; i <= len1; i++){for (int j = 0; j <= len2; j++){dp[i][j] = 0;}}for (int i = 1; i <= len1; i++){for (int j = 1; j <= len2; j++){if (nums1[i-1] == nums2[j-1]) {dp[i][j] = dp[i-1][j-1] + 1;}else {dp[i][j] = fmax(dp[i-1][j], dp[i][j-1]);}}}   return dp[len1][len2];
}

53. 最大子数组和

贪心算法:

int maxSubArray(int* nums, int numsSize){int result = INT_MIN;int count = 0;for (int i=0; i<numsSize; i++){count += nums[i];if (count > result) result = count;if (count < 0) count = 0;}return result;
}

动态规划:

int maxSubArray(int* nums, int numsSize){int dp[numsSize];for (int i = 0; i < numsSize; i++){dp[i] = 0;}dp[0] = nums[0];int ans = nums[0];for (int j = 1; j < numsSize; j++){// 比较的是当前数字大小和上次累加本次的大小dp[j] = fmax(nums[j], dp[j-1] + nums[j]);ans = fmax(dp[j], ans);}return ans;
}

整理一下

int maxSubArray(int* nums, int numsSize){int dp[numsSize];int ans = dp[0] = nums[0];for (int j = 1; j < numsSize; j++){// 比较的是当前数字大小和上次累加本次的大小dp[j] = fmax(nums[j], dp[j-1] + nums[j]);if (dp[j] > ans) ans = dp[j];}return ans;
}

相关文章:

代码随想录算法训练营第五十六天|1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和 动态规划

1143. 最长公共子序列 int longestCommonSubsequence(char * text1, char * text2){int len1 strlen(text1);int len2 strlen(text2);int dp[len11][len21];for (int i 0; i < len1; i){for (int j 0; j < len2; j){dp[i][j] 0;}}for (int i 1; i < len1; i){f…...

虚拟机和Windows的文件传输

拖拽/复制粘贴 直接将虚拟机linux系统的文件拖曳到windows桌面&#xff0c;或者直接将windows的文件拖曳到虚拟机linux系统当中&#xff0c;可以实现文件传输。当然复制粘贴方式也可以&#xff0c;但是前提是需要下载安装好VMware tools。 共享文件夹 概念&#xff1a;在Win…...

leetcode分类刷题:二叉树(八、二叉搜索树特有的自顶向下遍历)

二叉搜索树是一个有序树&#xff1a;每个二叉树都满足左子树上所有节点的值均小于它的根节点的值&#xff0c;右子树上所有节点的值均大于它的根节点的值&#xff1b;利用该性质&#xff0c;可以实现二叉搜索树特有的自顶向下遍历 700. 二叉搜索树中的搜索 思路1、自顶向下的遍…...

Vue 插槽 组件插入不固定内容

定义好一个组件&#xff0c;如果想插入图片或视频这非常不好的控制应该显示什么&#xff0c;这个时候可以使用插槽插入自定义内容 默认插槽 <Login><template><h1>我是插入的内容</h1></template></Login >组件 <slot></slot>…...

webpack打包时配置环境变量

webpack打包时配置环境变量 一、常规环境变量配置1. 使用webpack.DefinePlugin定义全局常量2. 在Vue静态页面中使用该环境变量 二、纯静态文件配置环境变量1. 使用npm或yarn安装html-webpack-plugin2. 在Webpack配置中引入并使用插件3. 使用htmlwebpackplugin.options方式配置环…...

【c++|opencv】一、基础操作---3.访问图像元素

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 访问图像元素 1. 访问图像像素 1.1 访问某像素 //灰度图像&#xff1a; image.at<uchar>(j, i) //j为行数&#xff0c;i为列数 //BGR彩色图像 i…...

机器视觉3D项目评估的基本要素及测量案例分析

目录 一. 检测需求确认 1、产品名称&#xff1a;【了解是什么产品上的零件&#xff0c;功能是什么】 2、*产品尺寸&#xff1a;【最大兼容尺寸】 3、*测量项目&#xff1a;【确认清楚测量点位】 4、*精度要求&#xff1a;【若客户提出的精度值过大或者过小&#xff0c;可以和客…...

力扣日记10.31-【栈与队列篇】前 K 个高频元素

力扣日记&#xff1a;【栈与队列篇】前 K 个高频元素 日期&#xff1a;2023.10.31 参考&#xff1a;代码随想录、力扣 347. 前 K 个高频元素 题目描述 难度&#xff1a;中等 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意…...

TensorFlow案例学习:简单的音频识别

前言 以下内容均来源于官方教程&#xff1a;简单的音频识别&#xff1a;识别关键字 音频识别 下载数据集 下载地址&#xff1a;http://storage.googleapis.com/download.tensorflow.org/data/mini_speech_commands.zip 可以直接浏览器访问下载。 下载完成后将其解压到项目…...

css小程序踩坑记录

写标签设置距离 一直设置不动 写个双层 设置动了 神奇 好玩...

Android sqlite分页上传离线订单后删除

1、判断订单表的的总数是否大于0&#xff0c;如果大于0开始上传订单 public int getOrderCount() {String query "SELECT COUNT(*) FROM " TABLE_NAME;Cursor cursor db.rawQuery(query, null);int count 0;if (cursor.moveToFirst()) {count cursor.getInt(0);…...

Flask基本教程以及Jinjia2模板引擎简介

flask基本使用 直接看代码吧&#xff0c;非常容易上手&#xff1a; # 创建flask应用 app Flask(__name__)# 路由 app.route("/index", methods[GET]) def index():return "FLASK&#xff1a;欢迎访问主页&#xff01;"if __name__ "__main__"…...

Django实战项目-学习任务系统-兑换物品管理

接着上期代码框架&#xff0c;开发第5个功能&#xff0c;兑换物品管理&#xff0c;再增加一个学习兑换物品表&#xff0c;主要用来维护兑换物品&#xff0c;所需积分&#xff0c;物品状态等信息&#xff0c;还有一个积分流水表&#xff0c;完成任务奖励积分&#xff0c;兑换物品…...

jmeter和postman你选哪个做接口测试?

软件测试行业做功能测试和接口测试的人相对比较多。在测试工作中&#xff0c;有高手&#xff0c;自然也会有小白&#xff0c;但有一点我们无法否认&#xff0c;就是每一个高手都是从小白开始的&#xff0c;所以今天我们就来谈谈一大部分人在做的接口测试&#xff0c;小白变高手…...

mac版本 Adobe总是弹窗提示验证问题如何解决

来自&#xff1a; mac软件下载macsc站 mac电脑使用过程中总是弹出Adobe 的弹窗提示&#xff0c;尤其是打开Adobe的软件&#xff0c;更是频繁的弹出提示&#xff1a; Your Adobe app is not genuine. Adobe reserves the right to disable this software after a 0 grace period…...

钡铼技术ARM工控机在机器人控制领域的应用

ARM工控机是一种基于ARM架构的工业控制计算机&#xff0c;用于在工业自动化领域中进行数据采集、监控、控制和通信等应用。ARM&#xff08;Advanced RISC Machine&#xff09;架构是一种低功耗、高性能的处理器架构&#xff0c;广泛应用于移动设备、嵌入式系统和物联网等领域。…...

HTML+CSS+JS实现计算器

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…...

Git工作原理和常见问题处理方案

博客定位Git工作区域工作区域划分暂存区设计目的 Git基本操作核心操作初始化和配置指令 HEAD指针Git版本回滚指令介绍reset模式reset hard使用场景reset soft使用场景reset mixed使用场景reset使用注意事项checkout使用场景 Git分支管理什么是分支分支应用场景分支相关指令被合…...

C++-实现一个简单的菜单程序

C-实现一个简单的菜单程序 1&#xff0c;if-else语句实现1.1&#xff0c;代码实现1.2&#xff0c;功能检测 2&#xff0c;switch语句实现2.1&#xff0c;代码实现2.2&#xff0c;功能检测 1&#xff0c;if-else语句实现 实现一个简单的菜单程序&#xff0c;运行时显示"Men…...

Git更新 fork 的仓库

文章目录 确保本地仓库是最新的配置上游存储库(remote upstream)获取上游存储库的更改合并上游存储库的更改推送更改到你 fork 的仓库 确保本地仓库是最新的 在命令行中&#xff0c;导航到存储库的本地副本所在的目录&#xff0c;并执行以下命令&#xff1a; # 切换到主分支 …...

冒险岛V128单机版服务端魔改指南:从基础搭建到自定义任务/装备修改

冒险岛V128单机版深度定制指南&#xff1a;从零构建个性化游戏世界 在数字娱乐的黄金时代&#xff0c;怀旧游戏焕发新生已成为一种文化现象。作为横版卷轴网游的经典之作&#xff0c;冒险岛凭借其独特的艺术风格和社交属性&#xff0c;至今仍拥有大量忠实玩家。而单机版的出现&…...

COMSOL中固态锂离子电池的电-热-力耦合仿真:考虑扩散诱导应力、热应力及外部挤压应力的影响

COMSOL 固态锂离子电池仿真 固态锂离子电池电-热-力耦合仿真&#xff0c;考虑了扩散诱导应力&#xff0c;热应力以及外部挤压应力。固态电池鼓包变形的时候&#xff0c;工程师老张盯着屏幕上的应力云图直挠头。这玩意儿明明充满电就膨胀&#xff0c;放完电又缩回去&#xff0c;…...

示波器安全操作与高压测量实践指南

示波器安全使用指南&#xff1a;从基础操作到高压测量实践1. 示波器使用安全概述示波器作为电子工程师的核心调试工具&#xff0c;其正确使用直接关系到测量结果的准确性和操作人员的人身安全。在实际工程应用中&#xff0c;约35%的测量事故源于不规范的示波器操作&#xff0c;…...

GBase 8a云数仓存算分离,“柔性搭建数仓”

传统分析型MPP数据库的搭建&#xff0c;就像装修一套毛坯房&#xff0c;从规划格局到水电改造&#xff0c;从墙面处理到家具进场&#xff0c;每一步都离不开专业师傅&#xff0c;稍有不慎就得返工重来。南大通用&#xff08;gbase database)GBase 8a云数仓&#xff08;GCDW&…...

为什么很多人学 Django 会懵?因为没搞懂 MVC 和 MTV 的真正区别

很多刚接触 Django 的开发者&#xff0c;甚至包括不少测试工程师&#xff0c;在学习 Django 时都会遇到一个困惑&#xff1a;为什么 Django 不叫 MVC&#xff0c;而是 MTV&#xff1f;更奇怪的是&#xff1a;很多教程还会说&#xff1a;“Django 的 MTV 其实就是 MVC。”这句话…...

nRF51822 RTC1深度睡眠唤醒与80μA低功耗优化

1. nRF51822低功耗唤醒系统深度解析&#xff1a;RTC1驱动的深度睡眠唤醒机制与80μA电流优化实践1.1 项目背景与工程痛点定位nRF51_WakeUp项目聚焦于nRF51822 SoC在超低功耗场景下的精准唤醒能力构建&#xff0c;其核心目标是通过RTC1&#xff08;Real-Time Counter 1&#xff…...

从‘它怎么又挂了’到‘服务稳如狗’:我是如何用Prometheus+Grafana给自家小项目做监控的

从零搭建轻量级服务监控&#xff1a;PrometheusGrafana实战指南 凌晨三点&#xff0c;手机突然响起刺耳的警报声——这已经是本周第三次被线上服务宕机惊醒。作为独立开发者或小团队&#xff0c;我们往往身兼数职&#xff0c;既要写代码又要维护基础设施。服务崩溃时才发现问题…...

别再花钱买云API了!手把手教你用Docker+Ollama在本地免费跑通Strix渗透测试

零成本打造企业级渗透测试环境&#xff1a;DockerOllama本地化实战指南 当安全团队每月收到云服务商五位数的API账单时&#xff0c;当关键测试任务因网络抖动被迫中断时&#xff0c;越来越多的技术决策者开始重新审视渗透测试的基础架构。本文将揭示如何用消费级硬件构建媲美商…...

HunyuanVideo-Foley实战案例:为纪录片自动匹配环境音效的完整工作流

HunyuanVideo-Foley实战案例&#xff1a;为纪录片自动匹配环境音效的完整工作流 1. 项目背景与需求 在纪录片制作过程中&#xff0c;环境音效的采集和匹配往往需要耗费大量时间和人力成本。传统方式需要音效师实地录制或从音效库中手动挑选&#xff0c;整个过程耗时且难以保证…...

哲学家吃饭问题没搞懂?用Python模拟信号量帮你彻底理解进程同步(附可运行代码)

用Python动态模拟哲学家进餐问题&#xff1a;从死锁到解决方案的完整实践指南 在操作系统的学习中&#xff0c;哲学家进餐问题堪称进程同步与死锁的"经典案例"。这个看似简单的场景却蕴含着并发编程中最棘手的挑战——如何协调多个进程对有限资源的访问。本文将带你…...