- 博客(14)
- 收藏
- 关注
原创 算法题之跳跃游戏Ⅱ
前段时间看完程序员卡尔的讲解视频时,就是一知半解的状态,过两天复盘想重新写的时候,发现思路有,但是很难写出来。最终根据思路来,发现了一种半新套路。主要针对的是循环条件。先走一步,如果当前跳跃能到的最远的地方却还是不能到终点,则开始走第二步。
2024-11-26 23:37:04
208
原创 回溯算法与字符串的爱恨情仇
按照程序员carl的指导下,学会了回溯三部曲。在组合篇,我个人觉得还是能略微得心应手的,但在字符串篇时,感觉有些力不从心了,不过在一段时间的理解下,我掌握了比较简单的方式去刷字符串的题目。这边为了时间更快先,就用了双指针法,不然直接将字符串反转reverse,与原来的进行比对,也能判断是否是回文串。不久之前,我写过几篇数据结构与算法的内容,有关的是一些题目我自己做下来的心得体会。总结:其实,做此类题目时,只要想着第一层的逻辑即可,只要第一层逻辑正确,后续很难出错。题目二:复原IP地址。
2024-10-29 22:19:08
336
原创 element-plus树节点的选择
使用element-plus树相关组件时,老是能遇到各种各样的问题,例如之前写的文章中,key值如果不是唯一性,则会导致数据不能及时刷新的问题。问题复现如下图所示,我们发现element-plus中的tree组件有一个setChecked方法,需要传递的是三个参数,解决办法就是,利用setCheckedKeys这个方法,传递两个参数,一个为空数组[],另一个是false。在我的项目中,传过去的是node-key绑定的id值,true,false。
2024-09-20 23:47:06
478
原创 Element ui组件库中的有关el-tree懒加载load刷新
最近老项目改动,使用的组件库是element-ui的,大致问题描述为分页查询后,后端每次发过来的数据都是7条,id都是1-7,前端使用的row-key绑定的就是id字段,这就导致使用load加载时,面对不同页面时,如果点击还是第一条数据,也就是id为1时,展示的数据是第一次load加载的,而不会因为数据的改变而发生改变。解决办法:让row-key绑定的数据会随着发生改变,而不是固定不变的id,但需要注意的是,绑定的值需要随着行发生变化,否则就会同时展开加载数据,同时关闭。
2024-09-06 14:11:48
311
原创 数据结构与算法 链表篇之两两交换链表中的节点
思路一:数学逻辑,由于链表结构比较难操作,将其先放入集合或者数组中,方便处理,随后两两交换,如果后面元素不够交换了,则最后一个元素不用交换。思路二:利用指针操作原链表,需要注意的是原链表元素个数是奇数还是偶数,这将影响到循环终止条件,并且一定是双与而不是双或。
2024-07-22 12:24:39
204
原创 数据结构与算法 链表篇之反转链表
思路一:由于题目并未要求结构与原结构相似,那么采用数学逻辑去做这道题就十分简单,依次将链表的元素取出放入集合中,然后反转集合,再创建新链表,依次将值放入即可。
2024-07-22 09:53:37
159
原创 数据结构与算法 链表篇之移除链表元素
其实不难发现,只要题目不要求维持原结构,大部分题目都可以转化为数学题,采用简单的数据结构先进行处理,然后再还原成所需要的数据结构。话说回来,这道题比较重要的点就是临时指针的选定和临时指针下一个值与目标值是否相等的逻辑处理。根据题目可知,移除链表元素是不能改变原链表结构的,这就导致如果用上一篇博客。的数学思维可能会导致处理较为复杂,因此改变思路,直接操作链表。解题思路:虚拟头结点。
2024-07-21 17:30:43
243
原创 旋转链表 (纯数学题)
做链表题总给我一种刷数学题的感觉,并且目前思维一直停留在转换上,这道题就很好地体现出来了,找到旋转后的数字与原来的数字顺序,找规律。
2024-07-20 21:02:07
226
原创 合并两个有序链表 递归2
3.单层递归逻辑:如果链表1当前节点值小于或等于链表2当前节点的值,新链表指向链表1,并且确定新链表的下一个指向。1.确定终止条件:如果链表1为空,则返回链表2,如果链表2为空,则返回链表1。2.传递参数:链表1,链表2,新创建的链表。
2024-07-19 15:33:54
170
原创 反转字符串(为了递归而递归)递归1
主要是为了巩固下递归的写法,一开始规定两个指针,左指针与右指针,左指针初始指向为数组第一个元素,右指针指向为数组最后一个元素。1.终止条件:左指针>=右指针,递归结束(两个指针的问题建议好好斟酌等号是否取到)3.单层递归逻辑:交换左右指针指向的元素。2.传递参数:左右两个指针,原数组。
2024-07-19 14:30:33
151
原创 数据结构与算法 数组篇之长度最小的子数组
先要搞清楚指针代表的是数组头还是尾,其次最重要的是条件判断是用if还是while,对于滑动窗口来说,一般采用while。法是数组中另一种十分常用的算法,主要需要考虑三个方面。解题思路:双指针,亦或者是滑动窗口(有点难)(3) 滑动窗口的终止位置如何移动?(2) 滑动窗口的起始位置如何移动?如果不存在符合条件的子数组,返回。(1) 滑动窗口内的内容指什么?找出该数组中满足其总和大于等于。个正整数的数组和一个正整数。问题描述:给定一个含有。
2024-07-17 20:16:15
715
1
原创 数据结构与算法 数组篇之有序数组的平方
题目中明确表示了该数组是按非严格递增的顺序进行排序的,因此利用好这个条件,也就是从侧边反映了该数组平方之后的最大值就是在数组的两端边界处。即可将双指针放在数组的一头一尾,后续慢慢收缩即可。这是我理解之后敲的代码,与Carl不同的是循环条件的不同,因人而异,我个人感觉我的比较容易理解一些(毕竟是自己理解过后的)提示就到这边啦,如果还是不理解或者代码敲不出来的伙伴,可以前往。2.双指针(为了通过工作笔试不得不培养的思维),查看Carl大神的具体讲解与操作。组成的新数组,要求也按。问题描述:给你一个按。
2024-07-17 16:17:16
208
原创 数据结构与算法 数组篇之移除元素
实在想不起来也没关系,可以看看代码随想录Carl大神过一遍。元素的顺序可能发生改变。想起来了也可以去看看类似的题目。非常经典的一道应用。
2024-07-17 15:01:23
185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人