二刷专题

二刷代码随想录训练营Day 45|力扣115.不同的子序列、583. 两个字符串的删除操作、72. 编辑距离

1.不同的子序列 代码随想录 (programmercarl.com) 视频:动态规划之子序列,为了编辑距离做铺垫 | LeetCode:115.不同的子序列_哔哩哔哩_bilibili 代码: class Solution {public:int numDistinct(string s, string t) {vector<vector<uint64_t>> dp(s.size(

day35 | | 01背包问题 二维 01背包问题 一维(二刷) 416. 分割等和子集

代码随想录算法训练营第 35 天| 01背包问题 二维 01背包问题 一维(二刷) 416. 分割等和子集 Leetcode 01背包问题 二维 题目描述: 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 思路: 动态规划 代码: import jav

计算机考研|408第二轮复习是二刷王道还是先看强化课?

在基础复习完一轮后,大部分人会把前面的内容忘掉很多!这个时候不要着急进入强化,在强化阶段之前先把4本书再重新整理复习一遍,查缺补漏。然后再看王道强化课! 对于408这门具有大量知识需要学习的专业课,有基础的同学一定相对是轻松很多的 首先,我将备考过程划分为三轮进行。在第一轮复习阶段,我每天安排3小时的时间学习机组原理和操作系统,这两门课程有一些共通之处,一起学习可以帮助加强理解。在这个阶段,我

代码随想录二刷DAY1~3

Day1 704 二分查找,简单 我也有自己写题解的能力了,而且思维很清晰: 找什么就在if里写什么。 class Solution {public:    int search(vector<int>& nums, int target) {        int l=0,r=nums.size()-1;        while(l<r){            int mid=l

二刷算法训练营Day32 | 贪心算法(2/6)

目录 详细布置: 1. 122. 买卖股票的最佳时机 II 2. 55. 跳跃游戏 3. 45. 跳跃游戏 II 4. 1005. K 次取反后最大化的数组和 详细布置: 1. 122. 买卖股票的最佳时机 II 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有

二刷算法训练营Day29 | 回溯算法(5/6)

目录 详细布置: 1. 491. 非递减子序列 2. 46. 全排列 3. 47. 全排列 II 详细布置: 1. 491. 非递减子序列 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。 建议:本题和大家刚做

二刷算法训练营Day28 | 回溯算法(4/6)

目录 详细布置: 1. 93. 复原 IP 地址 2. 78. 子集 3. 90. 子集 II 详细布置: 1. 93. 复原 IP 地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.24

第 10 章 nodelet(自学二刷笔记)

重要参考: 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 10.4 nodelet ROS通信是基于Node(节点)的,Node使用方便、易于扩展,可以满足ROS中大多数应用场景,但是也存在一些局限性,由于一个Node启动之

TuioDemo程序二刷

终于明白,程序还是要调试才能看懂,加了几句输出语句,就能大概清楚什么时候调用什么函数。 上一次看出来了,run()这个函数是每一帧都会刷新调用一下,并且再run()中的drawObjects(); processEvents();这两个函数也是一直在被调用。 drawObject()函数,应该就是在simulator中获取了事件之后,这边demo的窗口上也绘制出来。所以可以从中找到读取

(二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数

104.二叉树的最大深度 104. 二叉树的最大深度 - 力扣(LeetCode) 代码随想录 (programmercarl.com) 后序遍历: class Solution {public int maxDepth(TreeNode root) {// 如果当前节点为空,深度为0if (root == null) {return 0;}// 递归计算左子树的最大深度int left

(二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2

层序遍历 10 102. 二叉树的层序遍历 - 力扣(LeetCode) 代码随想录 (programmercarl.com) 综合代码: class Solution{public List<List<Integer>> resList = new ArrayList<List<Integer>>();public List<List<Integer>> levelO

第 8 章 机器人实体导航实现_路径规划(自学二刷笔记)

重要参考: 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程   9.3.5 导航实现05_路径规划 路径规划仍然使用 navigation 功能包集中的 move_base 功能包。 5.1编写launch文件 关于move

重开之数据结构(二刷)

引言: 由于前段时间学习效率不高,导致后面复习前面数据结构没有一个大纲,因此打算重新来学习以下数据结构,期望再次把数据结构学透,并有深刻的印象.并且记录每一次的学习记录 以便于后续复习 二分查找 需求:在有序数组arr内,查找target值 如果找到返回索引位置如果找不到返回 -1 基础版 步骤: 设定两个指针(左闭右闭) 分别为 i= 0,j = arr.length-1循环条件 i

第 8 章 机器人底盘Arduino端入口(自学二刷笔记)

重要参考: 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 8.4.2 底盘实现_01Arduino端入口 ros_arduino_bridge/ros_arduino_firmware/src/libraries/ROSAr

(二刷)代码随想录第1天|704. 二分查找 27. 移除元素

704. 二分查找 704. 二分查找 - 力扣(LeetCode) 代码随想录 (programmercarl.com) 手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. 二分查找_哔哩哔哩_bilibili 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目

代码随想录算法训练营二刷第14天 | 二叉搜索树完结

235.二叉搜索树的最近公共祖先 要记住 二叉搜索树自带搜索方向 这个特性!要找 二叉搜索树的最近公共祖先,那么相当于就是二叉搜索树的搜索,要想到“二叉搜索树的搜索”的迭代法其实是利用了二叉树的特性的,那么,本题也是可以用迭代法简单解决的! 701.二叉搜索树中的插入删除操作 略 450.删除二叉搜索树中的节点 本题有以下五种情况: 第一种情况:没找到删除的节点,遍历到空节点直接返回了

代码随想录算法训练营二刷第18天 | 哈希表——数组和部分set

数组作为哈希表 242.有效的字母异位词 字母异位词就是字符串中字母出现的次数相同。即:一个字符串中出现的所有的字符是否在另一个字符串中重复出现了!反过来也要对应找到,因此要用哈希表! 数组就是简单的哈希表,但是数组的大小是受限的!这道题目只包含小写字母,那么使用数组来做哈希最合适不过。 383.赎金信 与上一题相似,要找的就是一个字符串中的所有字符能否在另一个字符串中找到,也就是:一个

代码随想录算法训练营二刷第8天 | 二叉树的对称以及深度

对称二叉树 这道题需要用两个指针分别从根节点的左、右两个方向去判断是否对称,一旦有遇到不对称的即为 非对称二叉树可以用层序遍历,将每一层的节点收集到一个vector数组中并用双指针法判断其是否对称;可以用递归的方法,相当于判断根节点的左右两个子树是否是可以相互翻转的。对称二叉树的处理内容就是判断,判断根节点的左右两个子树时候是可以相互翻转的,也就是 判断某个节点能否与另一个节点对称;对于递归的

代码随想录算法训练营二刷第7天 | 二叉树的遍历方式

二叉树的遍历方式从大类上分为:深度优先遍历和广度优先遍历! ①深度优先遍历又分为:前序遍历(递归法和迭代法)、中序遍历(递归法和迭代法)、后序遍历(递归法和迭代法) 这3种; 对于递归法,有递归三步曲: 确定递归函数的参数和返回值: 确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。 确定终止条件: 写完

代码随想录二刷

数组篇 34.在排列数组中查找元素的第一个和最后一个位置 思路:数组是排序过的,因此要找target的左边界和右边界。根据左边界和有边界的位置关系判断。 35.搜索插入位置 思路:只需要搜索左边界或右边界就足够了,搜索出来的索引+1或者-1对应着target的位置,或者应该插入的位置。 977.有序数组的平方 思路:直接建立新数组,不要总考虑在原数组上操作了,一操作起来就丢数据了,直接

第 6 章 URDF、Gazebo与Rviz综合应用(自学二刷笔记)

重要参考: 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 6.7.4 kinect信息仿真以及显示 通过 Gazebo 模拟kinect摄像头,并在 Rviz 中显示kinect摄像头数据。 实现流程: kinect摄像头仿

第 6 章 URDF集成Gazebo(自学二刷笔记)

重要参考: 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 6.6 URDF集成Gazebo URDF 需要集成进 Rviz 或 Gazebo 才能显示可视化的机器人模型,前面已经介绍了URDF 与 Rviz 的集成,本节主要介绍

第 6 章 ROS-URDF练习(自学二刷笔记)

重要参考: 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 6.3.4 URDF练习 需求描述: 创建一个四轮圆柱状机器人模型,机器人参数如下,底盘为圆柱状,半径 10cm,高 8cm,四轮由两个驱动轮和两个万向支撑轮组成,

二刷代码随想录算法训练营第二十九天 | 491.递增子序列、46.全排列、47.全排列 II

目录 一、491. 递增子序列 二、46. 全排列  二、47. 全排列 II 一、491. 递增子序列 题目链接:力扣 文章讲解:代码随想录 视频讲解:回溯算法精讲,树层去重与树枝去重 | LeetCode:491.递增子序列 题目: 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。

【力扣二刷思路】DAY4

25. K 个一组翻转链表 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。 思路 reverseKGroup函数: 该函数接收两个参数:一个指向链表头节点的指针head和一个整

二刷代码随想录算法训练营第二十五天 | 216.组合总和III 17.电话号码的字母组合

目录 一、216. 组合总和 III 二、17.电话号码的字母组合 一、216. 组合总和 III 题目链接:力扣 文章讲解:代码随想录 视频讲解:和组合问题有啥区别?回溯算法如何剪枝?| LeetCode:216.组合总和III 题目: 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9 每个数字 最多使用一次  返回 所有可能的有效组合