自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营day 10| 226翻转二叉树,101对称二叉树

【代码】代码随想录算法训练营day 10| 226翻转二叉树,101对称二叉树。

2023-06-08 03:17:44 48 1

原创 代码随想录算法训练营day 9| 20.有效括号对,1047.删除字符串中的相邻重复项

3)如果当前浏览字符和前一项相同,则弹出栈顶的元素。2)遍历字符串S,并逐个压入栈中。1)创建一个空栈,用来储存元素。4)重复这个过程,直到完成遍历。

2023-06-05 13:15:23 64 1

原创 代码随想录算法训练营Day 8| 232 用栈实现队列,225 用队列实现栈

【代码】代码随想录算法训练营Day 8| 232 用栈实现队列,225 用队列实现栈。

2023-06-05 11:49:14 51 1

原创 代码随想录算法训练营Day 7| 344反转字符串,541反转字符串ii,151反转单词

【代码】代码随想录算法训练营Day 6| 344反转字符串,541反转字符串ii,151反转单词。

2023-06-01 13:04:33 54 1

原创 代码随想录算法训练营day 6| 454 四数之和ii,383 赎金信

【代码】代码随想录算法训练营day 6| 454 四数之和ii,383 赎金信。

2023-05-31 12:26:21 73

原创 代码随想录算法训练营Day 5| 242判断异位词,349数组交集,202快乐数

思路:利用Hash set中所有元素唯一性的特性,建立一个空白的hash set,用来储存交集的元素。第一遍先遍历nums1,并将其所有的值储存进set的value中。第二遍遍历nums2,检查其元素是否在set中出现,如出现则保留该元素。最后将set转化为list输出。思路:首先判断两个词的长度是否相等, 如不相等,返回false。然后建立一个空白的hash map,用来储存每个词中各个字母和它出现的次数。如相同返回true,否则为false。

2023-05-30 14:23:13 45 1

原创 代码随想录算法训练营Day 4 | 24 交换链表元素,19 移除链表制定项指针

定义两个指针,prev和curr,用来标识当前要交换的节点对。交换之前,prev指向节点对外的前一个节点,curr指向节点对内的第一个节点。即如果链表为1->2->3->4,第一对进行交换的是1和2,prev为链表前的一位dummy,curr为1。思路:使用两个指针prev和curr,以及虚拟头dummy。思路:将链表内的元素两个一组分配,然后交换彼此的node。2)将curr.next指向curr.next.next。3)最后,将curr.next.next和curr交换。

2023-05-27 06:07:03 49 1

原创 代码随想录算法训练营Day 3| 203移除链表元素,206反转链表

时间复杂度为 O(n),因为我们需要遍历链表中的所有节点,对每个节点进行比较和删除操作,其中 n 是链表的长度。空间复杂度为 O(1),因为我们只使用了常量级别的额外空间来存储几个指针变量,不随输入规模增长而变化。

2023-05-26 12:43:47 38 1

原创 代码随想录算法训练营Day2 | 977有限数组的平方,209长度最小的子数组,59螺旋矩阵

第二次:选择nums数组的第0位为基准数pivot,第一轮从nums的第一位开始向右遍历,小于pivot的数值放左边,大于的放右边。思路:两个指针都从0出发,左指针不动,右指针每次移动1,形成窗口。接着开始移动左指针,每次移动1后计算子数组的长度,和target进行比较,并保留此时的窗口长度。第一次:fast指针遍历数组,slow指针计算平方并储存,一次遍历后,数组里的元素被原地替换成本身的平方。每一条边的处理包含起始点,不包含终点,终点放在下一条边进行处理,以免重复处理。

2023-05-25 09:26:42 71 1

原创 代码随想录算法训练营Day 1| 704. 二分查找、27. 移除元素

这道题一个月前做过一次,当时直接调用了Python的库函数remove(),LeetCode也给过了,但当时不明白题目要考察的内容是remove()的实现逻辑。所以这次重新用两种方法写了一遍。当nums[fast] 不等于val时,意味着我们要保留当前元素,所以移动到slow指针指向的地方,即nums[slow]。遍历整个数组nums,将不等同于val的元素移到数组的前面,并每次将count(新数组的长度)+1,直到完成遍历。时间复杂度O(n),空间复杂度O(1)时间复杂度:O(n)

2023-05-24 14:01:25 153

空空如也

空空如也

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

TA关注的人

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