代码随想录训练营
文章平均质量分 71
记录每天完成的代码随想录的内容,坚持每日打卡,加油!
Jesus_night
这个作者很懒,什么都没留下…
展开
-
代码随想录算法训练营第四天 | 24. 两两交换链表中的节点,19.删除链表的倒数第N个节点,面试题 02.07. 链表相交,142.环形链表II
时间复杂度:O(n),快慢指针相遇前,指针走的次数小于链表长度,快慢指针相遇后,两个index指针走的次数也小于链表长度,总体为走的次数小于 2n。时间复杂度:O(n) 实际是O(2n-index)时间复杂度:O(n) 实际是O(2(m+n))时间复杂度:O(n)空间复杂度:O(1)空间复杂度:O(1)空间复杂度:O(1)空间复杂度:O(1)原创 2023-06-12 13:11:42 · 108 阅读 · 0 评论 -
代码随想录算法训练营第三天 | 链表理论基础 ,203.移除链表元素 ,707.设计链表,206.反转链表
链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。~~ 1. 找到满足条件节点的前一个节点,将该节点的下一个节点指向下下个节点(cur.next=cur.next.next) ~~但是要注意,要是删除第五个节点,需要从头节点查找到第四个节点通过next指针进行删除操作,查找的时间复杂度是O(n)。涉及到头结点的更改最好定义一个虚拟头结点(dummy),新的头结点为虚拟节点的下一个节点。原创 2023-06-09 20:03:29 · 377 阅读 · 0 评论 -
Leetcode刷题构建的API
Leetcode上只有核心代码,数据构造与显示都需要自己定义,在此文章中发布自己构造的函数实现。每刷完一个数据类型就会发布新的内容。原创 2023-06-08 12:57:13 · 236 阅读 · 0 评论 -
代码随想录算法训练营第二天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II,总结
数组的经典题目二分法704.二分查找可以使用暴力解法,通过这道题目,如果追求更优的算法,建议试一试用二分法,来解决这道题目暴力解法时间复杂度:O(n)二分法时间复杂度:O(logn)在这道题目中我们讲到了循环不变量原则,只有在循环中坚持对区间的定义,才能清楚的把握循环中的各种细节。双指针法27.移除元素977.有序数组的平方双指针法(快慢指针法):通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。暴力解法时间复杂度:O(n^2)双指针时间复杂度:O(n)原创 2023-06-08 12:47:53 · 465 阅读 · 0 评论 -
代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素
数组是存放在连续内存空间上的相同类型数据的集合。需要注意两点的是Java中二维数组的每一行头结点的地址是没有规则的,更谈不上连续。原创 2023-06-07 10:52:22 · 674 阅读 · 0 评论