JNUYoung / Leetcode-Record

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Leetcode-Record

Leetcode Records in Javascript

Date No Methods
2022-8-9 1413.逐步求和得到正数的最小值
2022-8-10 640.求解方程
2022-8-11 1417.重新格式化字符串
2022-8-12 1282.用户分组
2022-8-13 768.最多能完成排序的块
414.第三大的数
485.最大连续1的个数
495.提莫攻击
628.三个数的最大乘积
645.错误的集合
2022-8-14 1422.分割字符串的最大得分
2022-8-15 641.循环双端队列
442.数组中重复的数据
448.找到所有数组中消失的数字
697.数组的度
2022-8-16 1656.设计有序流
367.有效的完全平方数
704.二分查找
2022-8-17 1302.层数最深叶子节点的和
26.删除有序数组中的重复项
27.移除元素
2022-8-18 283.移动零
844.比较含退格的字符串
977.有序数组的平方
209.长度最小的子数组
2022-8-19 1450.在既定时间做作业的学生人数
904.水果成篮
2022-8-20 ×
2022-8-21 ×
2022-8-22 59.螺旋矩阵
203.移除链表元素
2022-8-23 707.设计链表
344.反转字符串
2022-8-24 1460.通过反转子数组使两个数组相等 注意问题的本质,能否将问题等价为一个相对简单的问题进而求解
2022-8-25 ×
2022-8-26 1464.数组中两元素的最大乘积
2022-8-27 24.两两交换链表中的节点
2022-8-28 242.有效的字母异位词
2022-8-29 383.赎金信
49.字母异位词分组
1.哈希表;2.利用同一个数组进行字符数的统计(增加或减少)
2022-8-30 438.找到字符串中所有字母异位词 滑动窗口
2022-8-31 349.两个数组的交集
350.两个数组的交集Ⅱ

September 🎶

Date No Methods
2022-9-01 454.四数相加
2022-9-02 15.三数之和 双指针方法:(1)通过固定一个元素后,利用两个指针来对剩下的元素进行遍历;(2)如何在遍历的过程就进行去重?
2022-9-03 ×
2022-9-04 ×
2022-9-05 18.四数之和
541.反转字符串Ⅱ
2022-9-06 151.反转字符串中的单词
58.左旋转字符串
2022-9-07 28.实现strStr() Brute-force方法
2022-9-08 28.实现strStr())
459.重复的子字符串
KMP算法
2022-9-09 1598.文件夹操作日志收集器
232.用栈实现队列
行为模拟
2022-9-10 ×
2022-9-11 20.有效的括号
2022-9-12 ×
2022-9-13 670.最大交换
1047.删除字符串中的所有相邻重复项
150.逆波兰表达式求值
Greedy
stack
2022-9-14 239.滑动窗口最大值 利用单调队列; 滑动窗口移动的过程中, 新元素入队时, 如何删除队尾的元素? 新元素入队后,  如何删除队首的元素?
[单调队列: 保证对应的数组元素严格单调递减, 因此队首下标对应的数组元素即为当前窗口内的最大值]
2022-9-15 347.前k个高频元素 如何用js的数组实现堆结构
2022-9-16 144.二叉树的前序遍历
145.二叉树的后序遍历
94.二叉树的中序遍历
1.递归的参数以及返回结果;
2.递归的终止条件;
3.单层递归的逻辑;
2022-9-17 ×
2022-9-18 03.无重复字符的最长子串 滑动窗口【返回最长字串及其长度】
2022-9-19 ×
2022-9-20 ×
2022-9-21 118.杨辉三角
661.图片平滑器
118.二维数组
661.滚动数组
2022-9-22 303.区域和检索
238.除自身以外数组的乘积
303:前缀和数组
238:前后缀乘积数组
2022-9-23 392.判断子序列
524.通过删除字母匹配到字典里最长单词
2022-9-24 521.最长特殊序列 Ⅰ 521:脑经急转弯
2022-9-25 ×
2022-9-26 482.密钥格式化
6.z字型变换**
剑指09.用两个栈实现队列
剑指30.包含min函数的栈
第6题巧妙利用flag来标识应当将当前字符添加到哪个字符串中
剑指30:使用一个存储当前栈的最小元素的辅助栈
2022-9-27 剑指06.从尾到头打印链表
剑指24.反转链表
剑指35.复杂链表的复制
06:借助辅助栈,实现链表的反向打印
24.递归的写法,递归的终止条件,理解递归的过程其实就是函数入栈和出栈
35.两次遍历,第一次遍历借助hash表建立节点,key为旧链表节点,value为新链表节点;第二次遍历修改每个节点的next指针和random指针;
2022-9-28 剑指05.替换空格
剑指58.左旋转字符串
2022-9-29 剑指03.数组中重复的数字
剑指53.在排序数组中查找数字
剑指53.0-n-1中缺失的数字
2022-9-30 ×

Oct

Date No Methods
2022-10-08 剑指04-二维数组中的查找
剑指11-旋转数组的最小数组
剑指50-第一个只出现一次的字符
2022-10-09 剑指32-从上到下打印二叉树 1.层次遍历,利用辅助队列将当前层节点出队并将子节点入队
2.分层输出,记录每一层的节点的数目,将该数目的节点出队后添加到res数组中;
3.z字型输出,利用双端队列和标识从左到右还是从右到左的flag,若从左到右,则使用push;若从右到左,则使用unshift从队头反向入队;
2022-10-10 102.二叉树的层次遍历;
【层序遍历的变体】
107.二叉树的层次遍历Ⅱ;
199.二叉树的右视图;
637.二叉树的层平均值;
429.N叉树的层序遍历;
515.在每个树行中找最大值;
116.填充每个节点的下一个右侧节点指针;

605.种花问题
102.利用队列;
107.在层次遍历得到的ans数组的基础上,将ans进行逆序即可;
199.在层次遍历的基础上,只记录每一层的最后一个出队的元素,利用queue.length和n进行判断;
637.在层次遍历的基础上,将每层的节点的值求和取平均;
429.跟二叉树类似,只是节点出队时,需将其所有的children节点入队;
515.在层次遍历的基础上,记录每层遍历节点的最大值;
116.在层序遍历的基础上,将除最后一个节点外的每个节点出队后,让其指向队列中待出队的下一个队头节点;
2022-10-11 104.二叉树的最大深度
111.二叉树的最小深度
1.基于层序遍历的方法
2.递归方法
2022-10-12 226.翻转二叉树
2022-10-13 414.第三大的数
41.缺失的第一个正数
419.甲板上的战舰
2022-10-14 101.对称二叉树
2022-10-15 ×
2022-10-16 ×
2022-10-17 ×
2022-10-18 189.轮转数组
396.旋转函数
2022-10-19 54.螺旋矩阵
566.重塑矩阵
2022-10-20 ×
2022-10-21 ×
2022-10-22 ×
2022-10-23 ×
2022-10-24 682.棒球比赛
71.简化路径
2022-10-25
2022-10-26
2022-10-27 455.分发饼干
2022-10-28
2022-10-29
2022-10-30
2022-10-31

Nov(LeetCode 精选 TOP 面试题)

Date No Methods
2022-10-31 1.两数之和
2.两数相加
1.利用es6提供的Map数据结构;
2.模拟法,注意最高位是否还需要进一;
2022-11-01 3.无重复字符的最长子串 3.滑动窗口方法
2022-11-09 4.两个正序数组的中位数 不用真正地去合并两个数组,只需要根据两个数组的长度的和,确定合并后中位数的索引,这个索引对应的也是循环的次数。因此,通过for循环,
分别对两个数组进行遍历,使用两个变量存储上一轮遍历和当前遍历的元素值,保证按从小到大进行遍历。

About


Languages

Language:JavaScript 68.1%Language:Python 29.3%Language:TypeScript 1.6%Language:HTML 0.6%Language:C 0.4%