自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 day27

随想录的解题思路,大概分为:默认最右为一个摆动元素,数组可能的情况是什么,分为三类,上下坡中有平坡,数组首尾怎么算(包含长度小于2的情况),单调坡中有平坡,其中单调坡中有平坡比较复杂,注意解题代码中if代码块中的语句,品味一下preDiff = curDiff放在if里和if外面有什么区别。但是注意随想录的两种解法,一个是遍历大胃口,一个是遍历饼干,区别一下谁用for,谁用if,为什么?脑子模拟一下也很容易出过程,只要去掉中间不符合的点,剩下的都是结果,注意可以用计数器,而不用真正移除元素。

2024-08-27 20:30:49 333

原创 day22任务

上面几个题都是回溯的模板应用,属于第一级难度,多练习,无他,唯手熟尔(本人菜鸡一枚,脑子还不灵光,只能多记录了),以下截图源于。主要是回溯算法,对于回溯算法,首先脑子里需要大概的模拟,然后就可以套模板了,个人认为目前比较难的是参数的确认以及适当剪枝。注意用数组实现数字和字母的映射关系操作。重点抽象为树形结构,然后就好理解了。注意numIndex表示的含义。三、模板:回溯三部曲是什么?

2024-08-26 17:05:15 285

原创 Java数据结构基本操作

注意:在DecimalFormat中,#字符通常用于可选的部分(如整数部分),但在这种情况下,由于我们想要确保总是显示小数部分,使用0可能更合适(尽管#在这里也能工作)。在Java中,当整数与浮点数进行运算时,整数会自动提升为浮点数,因此整个运算会在浮点数范围内进行,结果也会是浮点数。此外,值得注意的是,Java中的除法运算符(/)会根据操作数的类型来决定运算结果的类型。最后,需要提醒的是,浮点数运算可能会受到精度问题的影响,因此在处理需要高精度的计算时,应该使用适当的数据类型和方法来避免精度损失。

2024-08-15 17:30:57 1218

原创 day10任务

补签一下day10的,实际已经到day15了,day10和day11都是栈和队列的知识,最近考核要用到,所以先复习一下这个。后面几天都是二叉树,等考完试继续跟进。但转念一想,焦虑与否事情都会来,不如积极应对,哪怕不成功,最起码这个过程中人是向上学习的,心情没那么内耗。最近培训加考试,实在没时间了,考完还有需求要做,最近太焦虑了,新人真的头疼,很害怕,怀疑自己。没带电脑,用笔记下来了学习的地方。差一个题,书上没有,在网站上,先留着不看了。

2024-08-14 00:10:52 178

原创 day9任务

今天是字符串主题,不用想又上难度了。建议:这道题目基本把 刚刚做过的字符串操作 都覆盖了,不过就算知道解题思路,本题代码并不容易写,要多练一练。自己写的代码,跟网站差不多,注意思路,想一下为什么这样写,用到哪些条件。其实顺序应该是reverseWords在前,下面写实现,不过我个人喜欢从下往上写,还是看习惯吧。但是也还好,最重要的是想想第二步和第三步的操作有什么关联。今天先写一个题,实在没时间了,临近周末,周六和周天学习下其他题的思路。所以第一步:去除多余空格,包括开头和结尾的,还有中间的。

2024-08-09 00:36:41 153

原创 day8任务

所以这个题看能不能用基础代码写出来,了解一下替换的原理,比如Java的替换数字就没法在原数组上操作,必须要新建一个。这道题随想录也用了双指针,但是这个写法很巧妙,尤其是j

2024-08-08 01:17:17 313

原创 day7任务

如果nums[i] + nums[left] + nums[right] > 0 就说明 此时三数之和大了,因为数组是排序后了,所以right下标就应该向左移动,这样才能让三数之和小一些。这个跟异位字母词那道题比较像,而且只出现小写字母,所以可以定义一个26大小的数组,查询也比较方便,修改对应位置的值也直接覆盖,不会删除数组元素,所以可以用数组解题。这个题简单点的原因是没有去重的操作,给了四个数组看似很麻烦其实很方便,四数相加很容易变为两数相加,这两个数就是分别从A+B和C+D中集合在一起的。

2024-08-07 00:47:47 285

原创 day6任务

声明两个hashset,先随便加一个数组的所有元素到哈希set里,再contains判断一下,存在的才放到第二个hashset。=1并且集合里面不包含n时候才进入循环,不进入循环只有两种情况,n=1(本身) || n=0(快乐数);注意判断的条件,用while判断,定义一个hashset,用来判断有没有重复出现,不能死循环。跟着随想录的思路走,其实这种的都可以用标志位解题,一旦标志位不全为1,则就说明有别的情况。蛮有难度的题,反正第一次写确实不会,一点思路没有。不要被名字吓到,看一下示例,就知道咋写了。

2024-08-05 23:14:31 223

原创 day1到day4回顾,mark一下

而且,我觉得要让自己更容易动起来,就先开个头,哪怕写不完,一旦开了头自己就会想着怎么搞完了,这样子也会让自己下了班第一时间去完成,而不是先刷个手机了。这四天还挺惊喜的,按着任务来确实要比自己学自己做来的高效,自己做有时候碰到难题就不想写了,或者理解花了不少时间,耽误了其他题的学习,就会导致题量上不去。如果没写完,先别管昨天的,先把第二天的写了,如果第二天确实和昨天相关,需要昨天的知识点,再回去看。day3的反转链表,只学会了双指针,关于递归的解法都没看,我记得还有个题也可以用递归。数组的题有空多看看。

2024-08-04 22:52:54 136

原创 day4任务

虚拟头节点出现场景:有增删的地方,定义这个头节点就可以统一操作,不用按情况分类,即考虑头节点的情况。最后再移动下cur,cur永远指向要调换的两个节点的第一个节点的前一个。一定注意:值相同的不一定是同一个节点,其实这个题就是求地址相同的节点。

2024-08-04 22:38:31 1381

原创 day3任务

A:您的理解是正确的,但有一点需要澄清:在链表操作中,当我们说“移除”一个节点时,实际上并不是从物理内存中删除该节点,而是更改前一个节点(如果存在)的next指针,使其不再指向要移除的节点,而是指向要移除节点的下一个节点(如果存在)。最后一个节点应该还是链表的最后一个节点,但是在上一个节点的循环中被判断了,上一个节点的下一个节点就是最后一个节点,所以就算最后这个节点的值等于val也会被移除,倒数第二个节点最后指向null,下一次直接结束循环。第一个循环处理头节点(或连续的头节点)值为val的情况。

2024-08-02 22:38:25 1508

原创 day2任务

学习到了模拟转圈的过程,但是个人感觉肯定会忘,螺旋矩阵的题还需要再巩固一下,周末可以复习复习。使用滑动窗口解题,也是相当于双指针,只是实现过程像窗口滑动才叫滑动窗口。注意while循环,不是if,左边可以减好几次。还没刷,周末试试这个扩展题。前缀和的扩充,没啥难度。

2024-08-01 23:54:56 163

原创 day1任务

心得:题目都是复习,之前看过,但是对于边界条件还是有点不清楚。还有一定要记得常规的操作,对数组,对列表,对map,相互之间的转化等等。这个在公司的电脑里有写但是自己离了文件还是要自己熟悉并理解。:所以为什么查找可以那么快,但是增和删却比较慢了。注意负数的情况,注意左指针和右指针的交合处。应用前提:数组有序,无重复元素。

2024-07-31 21:58:30 183

空空如也

空空如也

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

TA关注的人

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