自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 训练营二叉树part04

要注意平衡二叉树的判断不仅仅只是判断根节点,在孩子节点中可能就已经判断出来不是平衡二叉树,也就是left/rightHide == -1 ,此时要加判断逻辑,直接返回-1,如果不加这层逻辑,就会把-1当做left/righthide 继续去判断当前节点的高度。这里不能直接return,如果遇到左子叶就在第二层的时候,这时候这里就会return了,那么整个二叉树遍历也就结束了,后续其他节点会直接无法遍历得到。

2023-07-28 21:46:19 29 1

原创 训练营哈希表专题

思路:首先是题目,说人话就是两个字符串里面包含的字母以及数量是否相等用数组,每个字母对应一个下标,因为char类型字母ascall码是有序的,对每个字母进行-'a'的操作即可形成一个26个元素大小且0-25从'a'-'z'一一对应的数组。即数组保存的是每个字母的数量对第一个字符串去统计每个字母出现的次数,对第二个字符串去作类似取出的运算,最后去查看数组中保存的数值是否不等于0,不等于0说明有字母及其数量并不同时存在于两个数组。

2023-07-18 23:16:25 28 1

原创 训练营Day4

换句话说,重点不是fast和slow的相对位置,fast只是起到一个帮助遍历的作用,重点是slow本身,它指向了要删除的节点的前一个节点,接下来就是很简单的删除逻辑,与fast无关。根据快慢指针的定义,得出公式,化简,当n=1时,x=z,说明相遇节点到起始节点的长度=头结点到起始节点的长度。这样快指针永远只比慢指针快一个节点,换句话说,就是每一次向下走就以一个节点的速度追上慢节点,所以如果存在环的话,慢节点一定能跟快节点相遇。注意这里的终止条件,用头节点本身,找到的是相交的节点,不是相等的值。

2023-07-15 21:14:01 29 1

原创 训练营Day3

/ 结点的值int val;​// 下一个结点​// 节点的构造函数(无参)​// 节点的构造函数(有一个参数)​// 节点的构造函数(有两个参数)

2023-07-14 21:55:28 29 1

原创 算法训练营Day2

由于是平方数组,且原数组是非递减的,换句话说就是递增且可能存在连续相等的元素,那么,平方数组的最大元素无非就在原数组两端。再来一个新数组的指针指向终止位置,用指针分别获取平方后的数值,取较大的一个放入新数组的终止位置。按照题中要求的螺旋路线,左→右,上→下,右→左,下→上,同时坚持左闭右开的规则,从start行开始遍历,每转一圈,start就自增1,以此类推。顾名思义,明确一个"窗口"的概念,窗口指的就是可能满足题目要求的子数组,通过改变窗口的起始和终止位置,去达到target的要求。

2023-07-13 20:11:09 320 1

原创 算法训练营Day 1

有序数组,元素不重复(保证得到唯一结果)问题的关键就在于区间定义,这是一个不变量,也是我们后续处理查找边界的重要准则。包括我上述遇到的问题,其实也是对于区间定义作为边界处理准则的原则理解得不够到位导致的。

2023-07-12 20:44:47 417 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除