自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 day44-45: 动态规划

目前的dp公式只比较了从头开始到current element的长方形和current element height自己。重做,第一版本的初始化错了点,而且dp公式想了有点长时间。双指针的意思就是左和右各遍历一次或者general的keep track嘛,不是每个双指针题都要一次for loop就完成的!重做,不要一看到有三个不同的操作就怕啊,还是正常地分别考虑情况然后取max嘛。开始做错了,看清题呀,是数位置之间的差还是element value。做对了,是变种,有时反过来想一下其实能找到更方便的解。

2025-01-27 23:53:19 741

原创 day32-43:动态规划

70.做对了。

2025-01-17 23:02:28 980

原创 day30-31:贪心

既然是greater than or equal to,那从要求就可以知道,对每个element的排序来说,只有大于等于它的elements是有关的。区间问题排列后就可以知道,for loop气球,想表示某气球被射过,跳过就行了,没有必要array remove气球,因为只用记录一下区间(也可能变种,比如箭)数量就OK。还有,贪心算法一直都想的是最——的情况,最坏的情况怎样合格,最好的情况达到怎样,所以在for loop也可能设定好什么variable。做对了,很容易粗心。刚开始的做法错了,后来改后做对。

2025-01-10 00:33:56 511

原创 day27-29:贪心算法

variable establish最开始的数值要是难定的话,就定第一个iteration用的,不要第0个或假设的。有双指针的时候,弄清楚指针或指向的value之间的关系,谁等谁etc。需要用来比较的variable做成boolean不好用,数值就好了。注意贪心算法的题想不出来就画个线图看看数组连起来长什么样!一次做对啦,但是还是小心考虑case-by-case。for loop语法不要忘记啊!开始时没思路,看了提示。

2025-01-07 01:14:43 431

原创 day22-25:回溯 backtracking

而且决定用matrix还是用list of index记录答案也不应该选择困难的啊,还选的是麻烦的。刚开始错了,后来改对想得有点久,提示start Index因为可以重复使用element所以跟77.Combinations不太一样。注意此题怎么保证1.每个element在一个答案中只用一次,2.没有重复的答案?注意这道题要的是所有subsets,所以应该把每个curlist都作为答案。这题和下题(93)的重点差不多一样啦, 都是要小心切割标的index,两种写法都可以。做对,是前面题的巩固。

2025-01-04 17:35:33 844

原创 day 17-18 二叉树p3

不管是先试写helper function加parameter还是什么,想到什么写什么不要停。另外就是多试试return的格式啦,刚开始写的时候不要在意复杂什么的,之后再去掉没用的就OK。要考虑 low或high==root.val的情况。要想到p或q就是root的情况。注意height balance的定义是“A。做对了,双指针,模版真的很好用!

2024-12-31 22:13:55 217

原创 day 16-18:二分p2

开始时做错了是因为当parameter是个list的时候加入的values都是任何时候都保存的!所以pass down parameter的时候要不就不改list itself,要不就想办法还原!错了,看参考答案后明白。典型双指针模版,preorder的时候prev更新成current root实在recurse完root.left之后!java的最大最小:Integer.MAX_VALUE/MIN_VALUE, Long.MAX_VALUE/MIN_VALUE。跟106相似,对了。

2024-12-31 02:31:58 904

原创 day 1-11 重做

要注意是单调队列跟正常PQueue或Queue不同!这里要的是一个能pop掉指定数字,但是又可以自动调整结构内的第一个数字为最大值的structure。做题刚开始有个rough idea就要开始写了,后面再改善压缩空间或时间的小问题。没有rough idea也要开始写暴力解法!

2024-12-29 20:57:51 613

原创 day 13-15: 二分p1

做了题目,随想录有延伸题还没做,怎样查出tree is not complete or not and the maximum number of nodes that can be kept for current tree to be complete.最开始错,换方法后做对了。python function的parameter可以向下recurse的时候传递info,return后如果parameter不是array等data structure就不会改变。一开始错了,用时可以更少。

2024-12-29 20:56:36 497

原创 day11: 150, 239, 347(未完)

还是deque的应用,就是deque建了个priority queue来查每个固定长度区间的最大值。任何写division的时候不要想当然,要举例子,要是6/130怎么办等等!(一开始做错,print之后改对)heapq用法我查一下再回来做。

2024-09-23 07:06:05 180

原创 第10天:232,225,20,1047

deque是参考答案写的,其中注意popleft()才是pop(0),单单pop()的话应该是去掉最后面。主要就是list empty怎么查,并且peek()要拿出来再放回去。python reference array后面的数可以写[-1]!(python做的,有点错所以参考了答案)''.join(arr)真的好用!(deque数据结构学一下)

2024-09-11 13:10:18 206

原创 第9天:151,55,28,459

【代码】第9天:151,55,28,459。

2024-09-10 11:15:30 228

原创 第8天:344,541,54

这道题一开始不知道这个s是有什么问题,不让我直接用s[left] s[right]这样换,所以我把它转成list就OK了。(出什么unicode error就转list!可以用位运算交换位置:(只能Java和C)写loop逻辑的时候千万画图!(对的,while loop就完了)54.(对了,手写出问题,我没改).(小错,自己改对了)

2024-09-06 11:04:19 216

原创 第7天:454,383,15,18

双指针我一开始得出memory limit exceeded,是因为如果current sum等于0的话,left(j)和right(k)都可以进一步,因为这样不可能一个value变了另外一个不变还能sum等于0的。这样就减了一半的时间。最开始试的是map的方法,但是发现这个方法需要给每个存在map里的组记着两个index,就很麻烦,所以改用双指针了。.(算是对吧,可以用2次while loop但是我用了三次,不改变complexity我就没改了)18.(很多粗心错)

2024-09-04 12:02:39 196

原创 第6天:242,349,202,1

很简单的题,但是用array当map这种做法觉得新奇又合理。字母只有26个,正好要查的就只有这个26位index,所以可以作为map的缩减空间版。查找key在不在时用if key in dict,dict.keys()给的是list,麻烦。注意map.update()的写法,新entry和旧的都是同样,只有一个parameter!1.(对了,复习了python dict/map).(对的,练python啦).(对的,没什么说)

2024-09-03 13:01:38 258

原创 第4天:24,19,160(面试题!),142

这题模拟用两个node每个iterate两个链表两遍,第二遍时查重复的node就OK。这个是数学题lol,我开始想法是对的,后面没解出equation,明天做再来补博客。emmm就是可能这种模拟过程的代码就很长吧,以后也不用奇怪。.(15分钟做对了!.(做对了,但代码好长)

2024-09-01 04:31:27 230

原创 第三天:203,707,206

linked list的head可以是symbolic的,property可以设成dummy,建function的时候更方便。习惯了就比设head方便,因为这样head delete或add就跟其他node没区别!linked list有没有tail或者double link时间复杂度都不会变所以don't bother!另外注意设default value,python这边不设白不设,反正不影响parameter。python里以下两种都可以!链表不管怎么简单都要画图,省时间!.(练了Python)

2024-09-01 02:44:55 165

原创 第二天:209,59,58,44

另外,做这种模拟过程的iteration的时候,iteration index需要上下来回的时候是可以重复用的,省很多时间。loop时用位置来定起始和结束最好,并且这样的话就可以用while loop,每个边界循环完毕最后的位置还存着。即使currentIndex的value可能比之前的总和greater or equal,但是没有达到target的时候这些比较都是没有用的。还要注意就是写数列双指针时,把i和j指针的分工写出来再想其他的,并且两个的变化有时可以分开来想!.(python要复习)要重做。

2024-08-31 22:29:31 409

原创 第一天:leetcode 704, 27, 977

我的:slow作为iterate数组的index,fast是给slow交换的数的index,如果slow和fast的value都是val那就只increment fast然后下一轮交换slow和fast。参考:fast作为iterate数组的index,既然fast比slow更后面,那要是fast的value是val那就不交换,如果不是的话就交换(不管slow,因为反正val都会被交换掉),这样所有value都会被访问并且任何前面的数都不会等于val。不需要管等于val的数的去处!复习暴力和双指针算法。

2024-08-31 04:09:31 332

原创 第一篇博客,测试一下

这两月算是二刷,会写博客。

2024-08-27 21:37:36 140

空空如也

空空如也

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

TA关注的人

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