- 2024-08-04代码随想录二刷字符串
代码随想录二刷字符串看leetcode这样一道题目:这道题若是用python库函数直接就秒了。但是那这道题就失去了本身的意义。题目注意事项中也说了输入字符串S可能存在前导空格、尾随空格或者单词间的多个空格。所以首先是对字符串处理。去除其中的空格。这与之前去除数组中去除特定
- 2024-07-31# 代码随想录二刷(哈希表)
代码随想录二刷(哈希表)三数之和思路反正对于我来说是真的难想出来。若这道题还是采用哈希表的思路去做,非常麻烦,并且还要考虑去重的操作。所以这道题其实用双指针,是更方便的。具体程序如下:classSolution:defthreeSum(self,nums:List[int])->List[List[int]]:
- 2024-07-30代码随想录二刷(链表章节)
代码随想录二刷(链表章节)链表就是通过指针串联在一起的线性结构,每个节点都是由一个数据域和指针域(存放下一个节点的指针)。双链表就是每个节点中既有指向前一个节点的,也有指向后一个节点的。循环链表就是把头和尾连起来。性能分析如下:下面来看下链表的具体题目:Leetcod
- 2024-07-28代码随想录二刷——数组
- 2024-07-21一入循环深似海,代码随想录螺旋矩阵二刷
代码随想录螺旋矩阵二刷leetcode59来看下螺旋矩阵。螺旋矩阵这道题确实很容易写着写着就绕进去了。首先读下题。给出正整数n,生成n*n的矩阵。我们来看其中一个用例,完成一个圈是需要四个循环去填充。但是四条边填充的时候要始终保持一样的规则,比如左闭右开的规则。那么转几圈呢
- 2024-07-20代码随想录数组二刷:长度最小的子数组(滑动窗口)
代码随想录数组二刷:长度最小的子数组(滑动窗口)leetcode209这道题采用滑动窗口的思想去做。实现滑动窗口,主要确定如下三点:窗口内是什么?如何移动窗口的起始位置?如何移动窗口的结束位置?窗口就是满足其和≥s的长度最小的连续子数组。窗口的起始位置如何移动:如果当前窗口
- 2024-07-20代码随想录移除元素二刷
代码随想录移除元素二刷leetcode27这道题思路的话可以这样去理解,用两个指针,一个慢指针,一个快指针。先让快指针往前面去探路,也就是去遍历数组,遇到不为val的值再去把该值赋值给nums[slow],slow指针+1,遇到为val的值,nums[slow]不做任何操作,继续移动fast指针。具体代码如下:classSo
- 2024-07-17代码随想录二刷复习(二分法)
二分法模板:1:左闭右闭区间写法第一种写法,我们定义target是在一个在左闭右闭的区间里,也就是[left,right](这个很重要非常重要)。区间的定义这就决定了二分法的代码应该如何写,因为定义target在[left,right]区间,所以有如下两点:while(left<=right)要使用<=,因为left==rig
- 2024-05-30C语言--深入指针(1)二刷
//野指针//intmain()//{//inta=10;//int*p=&a;//给一个明确的地址////int*p2=NULL;//给P2赋值为空指针////*p2=200;一旦将指针初始化就不能用这个指针了////只要指针是NULL就不能进行访问//return0;//}//局部变量的地址返回就
- 2024-04-10第 6 章 Gazebo仿真环境搭建(自学二刷笔记)
6.6.4Gazebo仿真环境搭建到目前为止,我们已经可以将机器人模型显示在Gazebo之中了,但是当前默认情况下,在Gazebo中机器人模型是在emptyworld中,并没有类似于房间、家具、道路、树木...之类的仿真物,如何在Gazebo中创建仿真环境呢?Gazebo中创建仿真实现方式有两种:方式
- 2024-03-20第 6 章 ROS-URDF练习(自学二刷笔记)
重要参考:课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ讲义链接:Introduction·Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程6.3.4URDF练习需求描述:创建一个四轮圆柱状机器人模型,机器人参数如下,底盘为圆柱状,半径10cm,高8cm,四轮由两个驱动轮和
- 2024-03-05二刷GAMES11 Transformation
齐次坐标引入齐次坐标是想把包含平移在内的变换写成一个矩阵乘以一个向量的形式。HomogenousCoordinates2Dpoint\((x,y,1)^T\)其实是\((x/w,y/w,w)^T\)w不等于02Dvector\((x,y,0)^T\)2DTransformations缩放,Scale\[\mathbf{S}(s_x,s_y)=\begin{pmatrix}s_x&0&0\\0
- 2024-02-07二刷 K8s 源码 - workqueue 的所有细节
1.概述-何来此文2.Queue的实现2.1Queue.Add(iteminterface{})方法2.2Queue.Get()方法2.3Queue.Done(iteminterface{})方法3.DelayingQueue的实现4.RateLimitingQueue的实现5.rateLimiter限速器的实现6.控制器里用的默认限速器7.总结1.概述-
- 2023-09-23c++总结
c++prime(常备字典)+c++手册+二十一天学通c++(这个很简单,看个人情况)黑马c++适合绝大多数人入门c++码农论坛更适合二刷,比较精简,讲的不错,但是涉及经验讲解过多,不一定适合新手侯捷以及cherno(这两个是巨佬)适合工作再看
- 2023-08-14Redis设计与实现——对象(二刷)
对象介绍Redis底层的基本数据类型包括动态字符串、链表、字典、跳表、整数集合、压缩列表。但是Redis并没有直接使用这些基本数据类型来构建键值对数据库,而是基于这些数据类型创建了一个对象系统,对象系统包含字符串对象、列表对象、哈希对象、集合对象、有序集合对象。struct
- 2023-08-14Redis设计与实现——数据结构(二刷)
SDS动态字符串Redis是c语言实现的,传统c字符串存在不可变导致的频繁内存分配,一些API函数可能引起缓冲区溢出等问题。Redis在c字符串的基础上,封装实现了SDS动态字符串,能够根据每次存储关键字的大小自动申请额外缓冲区内存,避免频繁申请和缓冲区溢出问题。SDS定义str
- 2023-06-24Mysql-二刷一些重要知识点记录
执行DDL的时候,即使此DDL被其他DML阻塞了,但是后续DML都会被此DDL阻塞(个人理解:DDL、DML按照申请顺序排队执行)[DML加MDL读锁,DDL加MDL写锁,读写之间互斥]使用onlineddl也就不害怕线上DDL了changebuffer存储inser和update的数据。如果不马上查询,起到加速DML的作用[尽量
- 2023-06-12二刷Leetcode-Days10
1.二叉树/***102.BinaryTree的层序遍历(借助辅助队列实现,递归法pass)*@paramroot*@return*/publicList<List<Integer>>levelOrder(TreeNoderoot){List<List<Integer>>resList=newArrayList<>();
- 2023-05-31二刷Leetcode-Days08
栈与队列:/***20.有效的括号*@params*@return*/publicbooleanisValid(Strings){Deque<Character>deque=newLinkedList<>();for(inti=0;i<s.length();i++){charch=s.charAt
- 2023-05-24二刷Leetcode-Days07
动规:/***70.爬楼梯*@paramn*@return*/publicintclimbStairs(intn){if(n<=2){returnn;}int[]dp=newint[n];dp[0]=1;dp[1]=2;for(inti=2;i
- 2023-05-19二刷Leetcode-Days06
二叉树:/***迭代法实现中序前序后序遍历*@paramroot*@return*/publicList<Integer>preorderTraversalIterator(TreeNoderoot){List<Integer>result=newArrayList<>();if(root==null){ret
- 2023-05-17二刷Leetcode-Days04
数组:/***27.移除元素*@paramnums*@paramval*@return很多考察数组、链表、字符串等操作的面试题,都使用双指针法。*/publicintremoveElement(int[]nums,intval){intleft=0;for(inti=0;i<nums.l
- 2023-05-15二刷Leetcode-Days02
栈和队列:/***232.用栈实现队列*队列的先进先出可以使用两个栈stackIn和stackOut来实现;*出队列前,如果stackOut不为空,表示队列当前值在上一轮已进入stackOut中,还没有被消费掉*若stackOut为空,也就是队列当前值还在stackIn中,为了确保先进先
- 2023-03-21二刷整合
数组:内存空间连续,数据类型统一,下标从0开始二分查找704classSolution{publicintsearch(int[]nums,inttarget){//方法一:暴力解法//for
- 2023-01-1340 90 47 491,给二刷的自己提醒,这四个一起做
491.递增子序列LinkedList<Integer>path=newLinkedList<>();List<List<Integer>>result=newArrayList<>();publicList<List<Integer>>findSubseque