代码随想录算法训练营第五十二天

今日效率低下,努力把题做完。做快一点!!!

300.最长递增子序列 

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

其实是两个for循环的问题,没考虑两个for循环,只想到了+1

 674. 最长连续递增序列 

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

第一题做出来后,这题就比较好想了。

718. 最长重复子数组 

思路有一丝丝的不太对,ij放for外面的写法有问题。

二维的写法基本可以理解:

class Solution {
public:int findLength(vector<int>& nums1, vector<int>& nums2) {int n = nums1.size();int m = nums2.size();if(n == 0 || m == 0)return 0;vector<vector<int>>dp(n+1,vector(m+1,0));int result = 0;for(int i = 1; i <= n;i++){for(int j = 1;j <= m;j++){if(nums1[i-1] == nums2[j-1])dp[i][j] = dp[i-1][j-1]+1;if(dp[i][j] > result)result = dp[i][j];} }return result;}
};

一维的情况需要研究一下:

一维的通过研究输出内容,大致了解,这个倒序很关键,要学习。有点想不出来。

#include <iostream>
#include <vector>
using namespace ::std;
class Solution
{
public:int findLength(vector<int> &A, vector<int> &B){vector<int> dp(vector<int>(B.size() + 1, 0));int result = 0;for (int i = 1; i <= A.size(); i++){cout << "i = " << i << endl;for (int j = B.size(); j > 0; j--){if (A[i - 1] == B[j - 1]){dp[j] = dp[j - 1] + 1;}elsedp[j] = 0; // 注意这里不相等的时候要有赋0的操作if (dp[j] > result)result = dp[j];for (int i = 0; i <= 5; i++){cout << dp[i] << ' ';}cout << endl;}}cout << result;return result;}
};
int main()
{Solution syz;vector<int> A(5, 0);vector<int> B(5, 0);int AA[5] = {1, 2, 3, 2, 1};int BB[5] = {3, 2, 1, 4, 7};for (int i = 0; i < 5; i++){A[i] = AA[i];B[i] = BB[i];}syz.findLength(A, B);return 0;
}

一维有点困难了。

拓展大致能看懂,二维的容易理解一点。

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

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

相关文章

计算机毕业设计Python+Spark知识图谱课程推荐系统 课程预测系统 课程大数据 课程数据分析 课程大屏 mooc慕课推荐系统 大数据毕业设计

1 绪 论 1.1 课题研究背景 在线教育学习平台是学生用来进行校内或校外拓展课程学习的平台&#xff0c;平台需要具备在线视频观看&#xff0c;作业提交&#xff0c;形成性考核等功能。在学生学习的过程中&#xff0c;学校的管理者或负责教师需要了解学生的学习情况和学习状态&…

Spring STOMP-发送消息

如果你想要从应用程序的任何地方向连接的客户端发送消息&#xff0c;要怎么做&#xff1f;任何应用程序组件都可以向brokerChannel发送消息。要这样做&#xff0c;最简单方法是注入一个SimpMessagingTemplate并使用它来发送消息。通常&#xff0c;你会按类型注入它&#xff0c;…

WWW服务器搭建(2)——Apache服务器配置与管理

一、Apache简介 1.1 关于Apache Apache HTTP Server&#xff08;简称Apache&#xff09;是Apache软件基金会的一个开放源码的Web服务器&#xff0c;可以在大多数计算机操作系统中运行&#xff0c;由于其跨平台和安全性被广泛使用&#xff0c;是最流行的Web服务器端软件之一。…

01-02-5

1、单链表中按位置查找 a.原理 通过传递的位置&#xff0c;返回该位置对应的地址&#xff0c;放到主函数定义的指针变量中。 我们认为位置从&#xff1a;有数据的节点开始计数 即如下结构&#xff1a; 查找位置&#xff0c;就是返回该位置对应的空间地址。 b.代码说明 Ⅰ…

H5嵌入原生----兼容安卓与ios

主要分UI展示&#xff0c;键盘&#xff0c;输入框等等。解决bug最苦恼的问题不是没有解决方案&#xff0c;而是你没有找到真正的原因。再就是现象难以重现&#xff0c;每次都要发布代码&#xff0c;然后到手机app中去测试&#xff0c;模拟。这些地方会耗费大量的精力。 一、UI…

【软设】常见易错题汇总

目录 计算机系统基础 程序语言基础 数据结构 算法设计与分析 计算机网络与信息安全 软件工程基础 开发方法&#xff08;结构化与面向对象&#xff09; 数据库 操作系统 知识产权相关的法律法规 &#x1f92f;&#x1f92f;&#x1f92f;&#x1f92f;&#x1f92f;&#x1f9…

《系统架构设计师教程(第2版)》第10章-软件架构的演化和维护-07-软件架构维护

文章目录 1. 软件架构知识管理1.1 概念1.2 架构知识的获取1.3 作用1.4 架构知识管理的现状 2 软件架构修改管理3 软件架构版本管理4. 示例4.1 背景4.2 数据获取4.3 数据计算4.4 结果分析4.4.1 圈复杂度 (CCN)4.4.2 扇入扇出度 (FFC)4.4.3 模块间耦合度 (CBO)4.4.4 模块的响应 (…

mysql group by 细节介绍

mysql中group by的用法是配合聚合函数&#xff0c;利用分组信息进行统计&#xff0c;语句如“select name,sum(id) from test group by name,number”。 先来看下表1&#xff0c;表名为test&#xff1a; 执行如下SQL语句&#xff1a; SELECT name FROM test GROUP BY name 你…

OFDM802.11a的FPGA实现(十四)data域的设计优化,挤掉axi协议传输中的气泡

原文链接&#xff08;相关文章合集&#xff09;&#xff1a;OFDM 802.11a的xilinx FPGA实现 目录 1.前言 2.data域的时序要求 3.Debug 1.前言 前面12篇文章详细讲述了&#xff0c;OFDM 802.11a发射部分data域的FPGA实现和验证&#xff0c;今天对data域的设计做一个总结。在…

electron 多窗口 vuex/pinia 数据状态同步简易方案(利用 LocalStorage)

全局 stroe 添加 mutations 状态同步方法 // 用于其他窗口同步 vuex 中的 DeviceTcpDataasyncDeviceTcpData(state: StateType, data: any) {state.deviceTcpData data},App.vue 里 onMounted(() > {console.log("App mounted");/*** vuex 多窗口 store 同步*//…

springboot306基于Java的民宿管理系统(源码+包运行+配套LW+技术指导)

项目描述 临近学期结束&#xff0c;开始毕业设计制作&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉的困难吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于Java的民宿管理…

python篇-cmd 执行pip命令失败,但执行pyhon命令正常

当你在CMD中可以正常执行python命令&#xff0c;但执行pip命令失败时&#xff0c;这通常意味着pip没有被正确地添加到系统的环境变量中。这里有一些步骤来解决这个问题&#xff1a; 检查环境变量&#xff1a; 打开系统的环境变量设置&#xff08;右击“此电脑”>“属性”>…

CoSeg: Cognitively Inspired Unsupervised Generic Event Segmentation

名词解释 1.特征重建 特征重建是一种机器学习中常用的技术&#xff0c;通常用于自监督学习或无监督学习任务。在特征重建中&#xff0c;模型被要求将输入数据经过编码器&#xff08;encoder&#xff09;转换成某种表示&#xff0c;然后再经过解码器&#xff08;decoder&#x…

c/c++对于char*的理解(联合string容器)

在C和C中&#xff0c;char*是一个指向字符&#xff08;char&#xff09;的指针。它经常被用来处理C风格的字符串&#xff0c;这种字符串是以空字符&#xff08;\0&#xff09;结尾的字符数组。以下是关于char*的一些关键点&#xff1a; C风格的字符串&#xff1a; C风格的字符…

升级Microsoft 365后,SAP GUI中无法打开Excel的解决方案

最近&#xff0c;我们遇到了一个棘手的问题&#xff0c;一位客户在升级到Microsoft 365后&#xff0c;无法在SAP GUI中打开Excel。这个问题不仅影响了工作效率&#xff0c;也给用户的日常操作带来了不便。在本文中&#xff0c;我们将探讨问题的成因&#xff0c;并提供一种解决方…

泛微E9开发 添加多个多选框,实现单选框的效果

利用多个多选框实现单选框的效果 1、功能背景2、展示效果3、实现效果 1、功能背景 如下图所示&#xff0c;在表单中新增四个“选择框-复选框”类型的字段&#xff0c;并且设置其中的选项&#xff0c;每个多选框都只有一个选项&#xff0c;通过代码块实现单选框的效果 1.显示模…

邓闲小——生存、生活、生命|真北写作

人生有三个层次∶生存、生活、生命。 生存就是做必须做的事。生存的模式是邓&#xff0c;是交易&#xff0c;是买卖。别人需要的东西&#xff0c;你生产出来&#xff0c;卖给他。哪怕这个东西没啥用&#xff0c;也可以卖&#xff0c;情绪也可以卖。你需要的东西&#xff0c;你花…

分布式与一致性协议之POW算法

POW算法 概述 谈起比特币&#xff0c;你应该并不陌生。比特币是基于区块链实现的&#xff0c;而区块链运行在因特网上&#xff0c;这就存在有人试图作恶的情况。有些读者可能已经发现了&#xff0c;口信消息型拜占庭问题之解、PBFT算法虽然能防止坏人作恶&#xff0c;但只能防…

代码随想录算法训练营第二十三天 | 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

目录 530.二叉搜索树的最小绝对差 思路 代码 501.二叉搜索树中的众数 思路 代码 236. 二叉树的最近公共祖先 思路 代码 530.二叉搜索树的最小绝对差 需要领悟一下二叉树遍历上双指针操作&#xff0c;优先掌握递归 题目链接/文章讲解&#xff1a;代码随想录 视频讲解…

Java Spring的定时任务的配置和使用

在Spring框架中&#xff0c;配置和使用定时任务主要涉及Scheduled注解以及Spring的异步任务执行能力。以下是详细步骤&#xff1a; 1. 引入依赖 对于Spring Boot项目&#xff0c;通常已经包含了Spring框架&#xff0c;因此不需要额外添加定时任务的依赖。如果使用的是Spring框…