- 博客(9)
- 收藏
- 关注
原创 剑指offer(一)链表专题
于2021.12.01开始记录。剑指offer在牛客网或者力扣上面都可以刷的,我选择了牛客网,下面的题目顺序也是按照牛客网上面的顺序来的。 JZ6 从尾到头打印链表 题目描述:输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。 1.1 解法1:利用栈 思路:利用栈先进后出的特点,首先遍历链表,将链表中的结点压入堆栈;然后将结点弹出,放入到结果list中。 import java.util.ArrayList; import java.util.Stack; public class
2021-12-10 11:19:35
519
原创 十大排序算法(一)冒泡排序
排序算法很重要,在此记录下目前学习到的排序算法。 1. 冒泡排序 2. 选择排序 3. 插入排序 4. 希尔排序 5. 快速排序 6. 归并排序
2021-11-29 17:26:16
850
原创 滑动窗口之LeetCode209长度最小的子数组
于2021.11.26练习 题目链接 1.1 解法1:暴力解法之两次遍历 思路:首先初始化这个子组的最小长度为Integer.MAX_VALUE,然后遍历数组的每一个下标作为子组的第一个元素,对于每一个开始下标i,需要找到大于或等于i的最小下标j,使得从nums[i]到nums[j]这个区间内元素之和大于target。如果找到了大于target,就更新最小长度,同时break操作,意味着j下标不用在往下遍历了,因为这个数组全都是正整数,再往后相加只会越来越大。 我自己写的时候,初始化最小长度为nums.le
2021-11-26 21:51:57
263
原创 栈和队列题目记录(一)
于2021.11.25记录。 栈的特性:先入后出,入栈和出栈操作只能在栈顶完成 队列的特性:先入后出,入队是在队尾实现的,出队是在队头实现的。 1. java中常用的方法总结 下面以java语言为例,列出来了栈和队列中一些常用的方法,后面刷题中也会用到这些方法。 (1)栈的常用方法 方法 作用 Stack() 定义一个空栈 boolean empty() 判断堆栈是否为空 Object push(Object element) 把元素压入堆栈顶部 Object pop( )
2021-11-26 21:39:34
228
原创 LeetCode876 链表的中间结点
于2021.11.19练习 题目链接 1.1 解法1:两次遍历 思路:第一次遍历获取链表的长度length;那么length/2就对应着中间结点在链表中的索引(对于奇数个元素中间结点正好是中间值,对于偶数个元素中间结点是后面的那个值),于是第二次遍历,找到这个中间结点。 class Solution { public ListNode middleNode(ListNode head) { int length = getLength(head); ListNode
2021-11-20 09:49:28
81
原创 LeetCode1047 删除字符串中的所有相邻重复项
于2021.11.17练习 题目链接 本题其实是一个“开心消消乐”的问题,下面展示了两种解法。 1.1 解法1:常规解法之栈 1.1.1 思路 思路:因为要删除的重复项是两个相邻且相同的字母,故每次都要比较当前元素和上一个元素,因此想到用栈。 首先遍历当前字符串,当遍历到某一个字符时,先判断该字符和栈顶元素是否相等,如果相等,就将栈顶元素弹出;如果不等或者此时堆栈为空,就将该字符入栈。 最后遍历完成后,将栈中的字符倒着输出。一开始我写的是res += stack.pop(),这种写法相当于res = res
2021-11-17 22:41:09
466
原创 求助:轨迹预测入门的简单代码
求助:轨迹预测领域入门的简单代码或者小的Demo 大佬们,有没有做轨迹预测领域的,有没有入门级的简单代码或者github上的小项目。 目前看了一些该领域的论文,里面的代码太工程化,看着很吃力。 ...
2020-11-26 10:06:49
2382
13
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人