自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Leetcode102. 二叉树的层序遍历递归和迭代两种解法|Leecode226.

尽管是层序遍历,递归法仍然是使用深度优先。用一个helper function, 维护当前层数以及总的levels数组。在levels数组里建立子数组代表每一层的节点,搜索到第几层就把当前节点加到第几位的小数组中。把当前节点的左子节点、右子节点append到队列中。pop队列头节点并加入到level中当作当前节点。在上一层先把队列中的节点按顺序pop出来并把每个节点的子节点加入到队列中。初始化一个包括当前层的所有节点的数组level=[]初始化一个result数组。把root加到队列中。

2023-06-19 09:26:57 42

原创 代码随想录算法训练营第2天|Python版 力扣LeetCode 977. 有序数组的平方,209. 长度最小的子数组,59. 螺旋矩阵II

初始思路:i和j双指针一前一后,只要j没到数组最后一位就不跳出循环。ij之间的数字和<target就往后加一位,>target就在前面减一位,这样可以做到在数组上滑动。但是这样需要用到sum函数,而sum是O(n)的,所以相当于还是暴力解。这样写会创造一个每个子数组都指向都一个地址的二维数组,改其中任何一个都会对其他的所有进行相同的操作。这题还是双指针(对于这题来说可能叫滑动窗口更贴切),但很容易把双指针写成暴力解。最开始先想到是否要把数组在0的位置切割分成两部分,但那样再进行排序就做不了了。

2023-05-26 10:05:53 39 1

原创 代码随想录算法训练营第一天|Python版LeetCode 704. 二分查找 LeetCode 27. 移除元素

val则nums[slow]=nums[fast]然后slow+=1,fast无论怎样要在每个iteration都+1。因为if target>nums[middle],则middle肯定不是我们要找的下标,所以left=middle+1;while(left?right) 的符号是< 还是

2023-05-24 11:58:17 159

空空如也

空空如也

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

TA关注的人

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