Skip to content

issyu-summer/LeetCode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

##力扣面试题解析

04/06:

Ⅰ.数组去重(双指针) ✎﹏ℳ๓₯°
Ⅱ.数组合并(双指针) ✎﹏ℳ๓₯°
Ⅲ.字符串是否是数字(有限状态机) ✎﹏ℳ๓₯°
Ⅳ.奇数在偶数前(首尾双指针) ✎﹏ℳ๓₯°
Ⅴ.对称的二叉树(递归) ✎﹏ℳ๓₯°
Ⅵ.平衡二叉树(左右深度差不超过1、左右子树也是平衡的)->Ⅶ.计算深度(DFS\BFS) ✎﹏ℳ๓₯° -> ✎﹏ℳ๓₯°
Ⅸ.顺时针打印链表(l,r,t,b) ✎﹏ℳ๓₯°
Ⅹ.采购方案(双指针) ✎﹏ℳ๓₯°

04/07:

Ⅰ.只出现一次的数字(异或性质) ✎﹏ℳ๓₯°
Ⅱ.反转链表(last,cur,tmp) ✎﹏ℳ๓₯°
Ⅲ.二叉树的最大深度(DFS,BFS) ✎﹏ℳ๓₯°
Ⅳ.多数元素(优先摩尔投票、排序nums[n/2]) ✎﹏ℳ๓₯°
Ⅴ.二叉树的直径(计算所有子树的深度并计较,深度最大的两个的和) ✎﹏ℳ๓₯°
Ⅵ.不重复的旋转数组中的查找(对有序的部分进行二分、int mid=l+((r-l)>>1)) ✎﹏ℳ๓₯°
Ⅶ.含重复的旋转数组中的查找(nums[l]==nums[mid]==nums[r]的特殊处理) ✎﹏ℳ๓₯°
Ⅸ.0~n-1中缺失的数字(二分查找,会出现一个下标不正常的,或者异或运算) ✎﹏ℳ๓₯°
Ⅹ.构建乘积数组(分成该数左边的所有数的成绩和右边所有数的乘积) ✎﹏ℳ๓₯°
remark:

  • 有序数组考虑二分查找
04/08:

Ⅰ.寻找旋转排序数组中的最小值(二分) ✎﹏ℳ๓₯°
Ⅱ.第一个只出现一次的字符(HashMap) ✎﹏ℳ๓₯°
Ⅲ.拿硬币(位运算) ✎﹏ℳ๓₯°
Ⅳ.最大礼物价值(动态规划) ✎﹏ℳ๓₯°
Ⅴ.在排序数组中查找数字(二分,还能这么玩????---查找某个数的左右边界) ✎﹏ℳ๓₯°
remark:

  • 有序数组考虑二分查找中搜索数字的左右边界
04/27:

Ⅰ.二叉搜索树的最近公共祖先 ✎﹏ℳ๓₯°
Ⅱ.二叉树的最近公共祖先 ✎﹏ℳ๓₯°
Ⅲ.单词搜索 ✎﹏ℳ๓₯°
Ⅳ.BST中两数之和 ✎﹏ℳ๓₯°
Ⅴ.二叉搜索树的范围和 ✎﹏ℳ๓₯°
Ⅵ.单值二叉树 ✎﹏ℳ๓₯°\

04/28:

Ⅰ.平方数之和【双指针】 ✎﹏ℳ๓₯°
Ⅱ.单词拆分【DP】 ✎﹏ℳ๓₯°
Ⅲ.队列的最大值【双端队列和普通队列共同维护一个最大值队列】 ✎﹏ℳ๓₯°
Ⅳ.滑动窗口中的最大值【使用非严格递减的双端队列降低复杂度】 ✎﹏ℳ๓₯°
Ⅴ.最长不含重复字符的子字符串【动态规划(区间)】 ✎﹏ℳ๓₯° \

04/29:

Ⅰ.青蛙过河【DP】 ✎﹏ℳ๓₯°
Ⅱ.最长回文子串【DP】【暴力枚举】【中心扩散】 ✎﹏ℳ๓₯°
Ⅲ.最小路径和【DP】 ✎﹏ℳ๓₯°
Ⅳ.爬楼梯、青蛙跳台阶、斐波那切数列【DP】 ✎﹏ℳ๓₯°
Ⅴ.不同的二叉搜索树【DP】 ✎﹏ℳ๓₯° \

04/30:

Ⅰ.矩阵中的路径【DFS】 ✎﹏ℳ๓₯°
Ⅱ.只出现一次的数字II【HashMap】 ✎﹏ℳ๓₯°
Ⅲ.验证二叉搜索树【树、DFS、中序遍历】 ✎﹏ℳ๓₯°
Ⅳ.相同的树【树、DFS】 ✎﹏ℳ๓₯°
Ⅴ.路径总和【树、DFS】 ✎﹏ℳ๓₯° \

05/01:

Ⅰ.交换链表中的节点【链表、快慢指针】 ✎﹏ℳ๓₯°
Ⅱ.两两交换链表中的节点【递归-不懂、迭代】 ✎﹏ℳ๓₯°
Ⅲ.链表排序【暂未实现、花费一天单独搞定所有的】 ✎﹏ℳ๓₯°
Ⅳ.旋转链表【快慢双指针、官方题解神之一手】 ✎﹏ℳ๓₯°
Ⅴ.删除链表的倒数第N个节点【快慢双指针、栈的先进后出】 ✎﹏ℳ๓₯°
Ⅵ.链表中的下一个更大节点【栈】 ✎﹏ℳ๓₯° \

About

summer's leetcode notes

Resources

Stars

Watchers

Forks

Languages