
Leetcode题解
棋子入局
这个作者很懒,什么都没留下…
展开
-
设计链表(leetcode-707)
明确链表结点下标从0开始,第n个结点。(4)第n个结点前插入结点。(1)获取第n个结点的值。(5)删除第n个结点。原创 2024-12-03 21:06:41 · 352 阅读 · 0 评论 -
移除链表元素(203)
利用原链表和加入虚拟头结点的方法实现链表元素的移除操作原创 2024-11-27 19:29:57 · 196 阅读 · 0 评论 -
螺旋矩阵II(leetcode 59)
转圈过程(边界处理)遵循循环不变量的原则,坚持一个原则处理每一条边,左闭右开处理。原创 2024-11-17 21:40:15 · 491 阅读 · 0 评论 -
最小的子数组(leetcode 209)
一个for循环完成两个for循环操作,for(j……),其中的j指的是终止位置,起始位置用动态移动策略移动。当终止位置移动后,集合里的元素和大于等于s时,起始位置开始向后移动,来缩小当前集合。此时动态的去调整起始位置来收集不同区间里的和。两层for循环,一个区间终止位置,一个区间起始位置,找到大于等于s的最小区间长度(超时了)给定一个正整数数组,找到大于等于s的连续的最小长度的区间。解法二:双指针,滑动窗口。重点:如何移动起始位置。原创 2024-11-17 20:12:13 · 255 阅读 · 0 评论 -
有序数组的平方(leetcode 977)
最大数一定在这个数组的两边,不可能在中间。利用两个指针从两边逐步向中间靠拢的过程,得到一个由大到小的数组。得到由小到大的数组,就是在更新新的数组时,所有元素平方后再使用快速排序法重新排序,时间复杂度为O(nlogn)。一个数组,返回一个所有元素的平方之后依然是一个有序数组。原创 2024-11-17 18:52:32 · 483 阅读 · 0 评论 -
二分查找法(leetcode 704)
在一个数组里找一个target,判断这个target在不在这个数组里,如果在,返回这个数组所对应的这个元素所对应的下标,否则返回-1.原创 2024-11-16 19:57:24 · 353 阅读 · 0 评论 -
(002)两数相加
类似于一个大数加法,注意链表的边界和进位,同时还有注意存在两个链表长度不等,需要处理多出来的元素。原创 2024-08-02 16:54:28 · 251 阅读 · 0 评论 -
(070)爬楼梯
思路:一次爬一个或者一次爬两个楼梯,终止条件,即是当n=1或n=2时,完成操作,当n>2时,总方法就等于一次爬一个楼梯的方法数加上一次爬两个楼梯的方法数。解法一的不可行性主要是重复计算引起的,避免或减少重复计算实现代码。使用hashmap保存已求解的值,此时的时间复杂度为O(n)。值得一提的是,虽然它简单,但是它的时间复杂度超过。解法二:hashmap。原创 2024-08-01 16:44:33 · 296 阅读 · 0 评论