文件目录:
python/LCP/力扣杯
python/sword2offer/剑指offer
python/odds/搜集的奇特,有趣题目解法
题号 | 题目 | 分类 | 难度 | 语言 | 备注 |
---|---|---|---|---|---|
0001 | 两数之和 | hash | 简单 | java,python,js | |
0002 | 两数相加 | 链表,数学 | 中等 | python | |
0003 | 无重复字符的最长子串 | 字符串,滑动窗口 | 中等 | java,python | |
0004 | 寻找两个正序数组的中位数 | 分治法 | 困难 | java(未完善) | |
0005 | 最长回文子串 | 字符串,动态规划 | 中等 | java | |
0006 | Z 字形变换 | 字符串 | 中等 | java,python | |
0007 | 整数反转 | 数学 | 中等 | java | |
0008 | 字符串转换整数 (atoi) | 字符串 | 中等 | python | |
0017 | 电话号码的字母组合 | DFS,组合,回溯 | 中等 | java | |
0024 | 两两交换链表中的节点 | 链表 | 中等 | java | |
0031 | 下一个排列 | 数组,排列 | 中等 | java | 有点难想 |
0036 | 有效的数独 | 数独,hash | 中等 | java,python | |
0039 | 组合总和 | 递归 | 中等 | java | |
0041 | 缺失的第一个正数 | 原地hash | 困难 | java | |
0042 | 接雨水 | 动态规划 | 困难 | Java | |
0051 | N皇后 | N皇后,搜索,回溯 | 困难 | java,python | |
0052 | N皇后2 | N皇后,搜索,回溯 | 困难 | python | |
0057 | 插入区间 | 数组,排序 | 伪难题 | python | |
0067 | 二进制求和 | 字符串 | 简单 | python | |
0463 | 岛屿的周长 | DFS | 简单 | java | |
0116 | 填充每个节点的下一个右侧节点指针 | 链表,树 | 中等 | java,python | |
0124 | 二叉树中的最大路径和 | DFS,字节真题 | 困难 | java | |
0129 | 求根到叶子节点数字之和 | 二叉树,遍历 | 中等 | java | |
0143 | 重排链表 | 链表,重排 | 中等 | java | |
0144 | 二叉树的前序遍历 | 二叉树,遍历 | 中等 | python | |
0234 | 回文链表 | 链表,回文 | 简单 | java | |
0239 | 滑动窗口最大值 | 滑动窗口,删除队列,优先队列 | 困难 | java | |
0402 | 移掉K位数字 | 栈 | 中等 | python | 一招吃四题 |
0406 | 根据身高重建队列 | 排序 | 中等 | java | 自定义排序规则 |
0514 | 自由之路 | DFS,辐射4 | 困难 | java | 事多划水过,有时间好好看 |
0763 | 划分字母区间 | 字符串 | 中等 | java | |
0844 | 比较含退格的字符串 | 字符串 | 简单 | java | |
0845 | 数组中的最长山脉 | 数组,双指针 | 中等 | java | |
0925 | 长按键入 | 字符串,模式匹配 | 简单 | java | |
0973 | 最接近原点的K个点 | 排序,根堆 | 中等 | java | |
0977 | 有序数组的平方 | 数组,双指针 | 简单 | java | |
1002 | 查找常用字符 | 字符串,hash | 简单 | python | |
1024 | 视频拼接 | 动态规划 | 中等 | java | |
1030 | 距离顺序排列矩阵单元格 | 桶排序 | 简单 | java | |
1207 | 独一无二的出现次数 | hash | 简单 | java | |
1365 | 有多少小于当前数字的数字 | 数组 | 简单 | java | |
剑指 offer03 | 数组中重复的数字 | hash | 简单 | python | |
剑指 offer04 | 二维数组中的查找 | 数组 | 简单 | python | |
剑指 offer24 | 反转链表 | 链表,双指针,递归 | 简单 | java | |
剑指 offer25 | 合并两个排序的链表 | 链表 | 简单 | python | |
剑指 offer10 | I. 斐波那契数列 | 斐波那契数 | 简单 | python | |
剑指 offer59 | 滑动窗口的最大值 | 滑动窗口 | 简单 | python | |
剑指 offer60 | n个骰子的点数 | 骰子 | 简单 | python | |
LCP5548 | 最小体力消耗路径 | 最短路径,bfs | 中等 | python | |
LCP5556 | 可以到达的最远建筑 | 优先队列,小根堆 | 中等 | python | |
LCP5563 | 销售价值减少的颜色球 | 除余法,二分查找 | 中等 | python | |
LCP5564 | 通过指令创建有序数组 | 前序和,fenwick tree | 困难 | python | |
LCP5602 | 将x减到0的最小操作数 | 前序和 | 中等 | python | |
LCP5604 | 最大化网格幸福感 | DP | 困难 | python | 等大佬给答案,未完成 |
题号 | 题目 | 分类 | 难度 | 语言 | 备注 |
---|---|---|---|---|---|
0673 | 最长递增子序列的个数 | DP | 中等 | java | |
0072 | 编辑距离 | DP | 困难 | java | 0673 |
0139 | 单词拆分 | DP | 中等 | python | |
0140 | 单词拆分 II | DP | 困难 | python | 0139 |
0300 | 最长上升子序列 | DP | 中等 | java | 二分查找,tails数组 |
0123 | 买卖股票的最佳时机III | DP | 困难 | java | 困难水题 |
题号 | 题目 | 分类 | 难度 | 语言 | 备注 |
---|---|---|---|---|---|
0941 | 有效的山脉数组 | 双指针 | 简单 | java | |
0015 | 三数之和 | 数组,双指针 | 中等 | python | |
0018 | 四数之和 | 数组,双指针 | 中等 | python | 0018 |
0019 | 删除链表的倒数第N个节点 | 链表,双指针 | 中等 | js,java,python,c++ |
题号 | 题目 | 分类 | 难度 | 语言 | 备注 |
---|---|---|---|---|---|
0010 | 正则表达式匹配 | 正则匹配 | 困难 | java |
题号 | 题目 | 分类 | 难度 | 语言 | 备注 |
---|---|---|---|---|---|
0127 | 单词接龙 | BFS | 中等 | java |
题号 | 题目 | 分类 | 难度 | 语言 | 备注 |
---|---|---|---|---|---|
1356 | 根据数字二进制下1的数目排序 | 位运算,快排 | 简单 | java | bitCount源码 |
题号 | 题目 | 分类 | 难度 | 语言 | 备注 |
---|---|---|---|---|---|
0327 | 区间和的个数 | 前序和 | 困难 | c++ | 没能做出来,前序和+归并排序部分没看懂 |
0525 | 连续数组 | 前序和 | 中等 | java | 没能做出来,前序和+哈希表 |
题号 | 题目 | 分类 | 难度 | 语言 | 备注 |
---|---|---|---|---|---|
0474 | 一和零 | 动态规划,背包 | 中等 | java | 滚动数组,从后往前方法进行空间优化 |
并查集能解决的问题BSF和DSF基本都能解决,但是只求连通性相关而不必知道路径的问题,并查集相对来说更方便。
题号 | 题目 | 分类 | 难度 | 语言 | 备注 |
---|---|---|---|---|---|
0399 | 一和零 | 并查集 | 中等 | java | 并查集的典型问题 |
547 | 省份数量 | 并查集 | 中等 | java | |
684 | |||||
1319 | |||||
1631 | |||||
959 | |||||
1202 | |||||
947 | |||||
721 | |||||
803 | |||||
1579 | |||||
778 |
- 分治 Divide Conquer
- 宽度优先搜索 Breadth First Search
- 深度优先搜索 Depth First Search
- 回溯法 Backtracking
- 双指针 Two Pointers
- 动态规划 Dynamic Programming
- 扫描线 Scan-line algorithm
- 快排 Quick Sort
- 栈 Stack
- 队列 Queue
- 链表 Linked List
- 数组 Array
- 哈希表 Hash Table
- 二叉树 Binary Tree
- 堆 Heap
- 并查集 Union Find
- 字典树 Trie