自定义博客皮肤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)
  • 收藏
  • 关注

原创 377. 组合总和 Ⅳ 本质其实是爬楼梯的思想!

377. 组合总和 Ⅳ 本质其实是爬楼梯思想!别再死磕动态二维数组了!

2023-12-06 09:57:09 277 1

原创 贪心算法解题心得:122.买股票的最佳时机 II

中的思想,在数组prices前多加一个prices[1]的思路,让左端符合for循环的条件(需要三个数来计算predif和curdif)。但并没有直接在0号位置加,而是令predif的初值为0来实现的。将prices数组转换为折线图,如果遇到波谷就买入,遇到波峰就卖出,这样就是。需要使用一个state,来标志我们现在处于买入还是卖出的状态。在每一天,你可以决定是否购买和/或出售股票。在末尾append了0,避免买入后,一直没卖出的情况。你也可以先购买,然后在。,通过这个局部最优,从而推。

2023-08-14 11:51:44 67

原创 Leetcode:90. 子集 II 题解

一种快于《代码随想录》标准答案的方法!一起来讨论

2023-08-07 08:41:22 66

原创 力扣刷题:删除链表中倒数第N个节点 2023.7.2

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2:输入:head = [1], n = 1 输出:[] 示例 3:输入:head = [1,2], n = 1 输出:[1]

2023-07-02 23:23:19 75 1

原创 力扣刷题:两两反转链表 2023.6.28

一开始直接拿4个节点在那儿找方法。这样是不对的!应该从最小的单位开始找,找出一个可以一直可以重复的做法!所以应该从两个节点开始寻找算法。多个节点的情况是用来推理和验证的。

2023-06-28 23:13:34 57 1

原创 力扣刷题:反转链表 2023.6.27

了再进行。

2023-06-27 22:36:43 47

原创 力扣刷题:定义链表 2023.6.26

class MyLinkedList(object) 这个类,开始我以为是既要定义链表,又要在该类里写方法。但其实ListNode类是在外面定义的。class ListNode : def __init__(self , nums = 0 , next = None) : # 记得要给初值 self . nums = nums相当于,这个类,是用来实现一系列list操作的。并没有规定链表的构造。但是,而不是直接创建一个单独的ListNode。

2023-06-26 22:59:39 77 1

原创 力扣刷题:移除链表元素 2023.6.22

看了答案,涉及到虚拟头节点的问题,dummy_head。有了dummy_head也方便以下情形:需要。应想办法把开始时与头节点有关的那两个操作。

2023-06-22 12:10:42 49 1

原创 力扣刷题:螺旋矩阵II 2023.6.20

NumPy 全称为 Numerical Python,是 Python 的一个以矩阵为主的用于科学计算的基础软件包。Numpy 中有功能强大的 ndarray 对象,能创建 N 维的数组,另外还提供很多通用函数,支持对数组的元素进行操作、支持对数组进行算法运算以及提供常用的统计函数。开始想把每次往里走一层时,最开始的标号记下来,但是推了很久。看了答案发现,答案是直接操作一次就记录一次的,更简单一些。ver2:用反向for循环,简单很多,而且更省时间,用 * 会把前面的元素指 n 遍,不会新建。

2023-06-20 18:46:59 80

原创 力扣刷题:长度最小的子数组 2023.6.19

虽然也有两层循环,但是其实,每个元素只进出了一次。

2023-06-19 21:45:33 50

原创 力扣刷题:有叙数组的平方 2023.6.16

new = [] 是不可以的。应该用 new = [float(‘inf’)] * len(nums) 提前分配好。new 的元素为无穷大的浮点数。必须从最大的开始放入新数组。从最小的是不可以的。最小的也可能出现在旧数组nums的中间。我们是从两头开始找的。自己做题的时候喜欢用wihle,但每次都要自己在最后一行自己对i值进行自加,有时候忘了还会导致死循环。以后注意使用for。可改进的地方:while的不等于变成小于等于,就可以不写倒数第二行多余的代码了。可用 a**2 代替 a * a。

2023-06-16 18:24:45 60

原创 力扣刷题:删除数组元素 2023.6.15

题目:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gIazPp8J-1686839304817)(Lists.assets/image-20230615201742087.png)]在往前挪元素时,若有两个连续的目标值(需要移除的元素),会被跳过。解决方法是:若挪动了元素,应该给i的值也减一。开始的版本,打#那里,不能同时加减,否则在最后一位时会有问题!最后一位是该删掉的元素的话,slow就不用移动了。for i in range(1, 10) 只会打印1到9。

2023-06-15 22:29:42 76 1

原创 力扣刷题:二分查找 2023.6.14

力扣刷题:二分查找

2023-06-14 20:42:19 56

空空如也

空空如也

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

TA关注的人

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