Leetcode
LeetCode题解C++11、Java8、Python3版题解🚀
Install / Use
/learn @whoway/LeetcodeREADME
leetcode题解
本项目『网页版』
以最优解进行解答
Ⓜ️约定标记
- 💦水题,只做一遍
- Ⓜ️模板题,可记忆
- ⭐️启发性题,记忆+学习
- ✅已完成题目,待定级别
✅刷题顺序
✅01.数组
1.1.数组的遍历
| 题号 | C++11 | Java8 | Python3 | | ------------------------------------------------------------ | ----- | ----- | ------- | | ⭐️485. 最大连续1的个数 | 1 | | | | 💦495. 提莫攻击 | 1 | | | | ✅414. 第三大的数 | 1 | | | | ⭐️628. 三个数的最大乘积 | 1 | | |
1.2.统计数组中的元素
| 题号 | C++11 | Java8 | Python3 | | ------------------------------------------------------------ | ----- | ----- | ------- | | ✅645. 错误的集合 | 1 | | | | 697. 数组的度 | | | | | ✅448. 找到所有数组中消失的数字 | 1 | | | | ⭐️442. 数组中重复的数据 | | | | | ⭐️41. 缺失的第一个正数 | | | | | ✅274. H 指数 | | | |
1.3.数组的改变、移动
| 题号 | C++11 | Java8 | | ------------------------------------------------------------ | ----- | ----- | | 453. 最小移动次数使数组元素相等 | | | | 665. 非递减数列 | | | | ✅283. 移动零 | 1 | |
1.4.二维数组及滚动数组
| 题号 | 描述 | 状态 | | ------------------------------------------------------------ | ---- | ---- | | ✅118. 杨辉三角 | | | | ✅119. 杨辉三角 II | | | | 661. 图片平滑器 | | | | 598. 范围求和 II | | | | 419. 甲板上的战舰 | | |
1.5.数组的旋转
| 题号 | C++11 | 完成状态 | | ------------------------------------------------------------ | ----- | -------- | | ⭐️189. 旋转数组 | 1 | | | 396. 旋转函数 | | |
1.6.特定顺序遍历二维数组
| 题号 | C++11 | 完成状态 | | ------------------------------------------------------------ | ----- | -------- | | 54. 螺旋矩阵 | | | | 59. 螺旋矩阵 II | | | | 498. 对角线遍历 | | |
1.7.二维数组变换
| 题号 | 描述 | 完成状态 | | ------------------------------------------------------------ | ---- | -------- | | 566. 重塑矩阵 | | | | 48. 旋转图像 | | | | 73. 矩阵置零 | | | | 289. 生命游戏 | | |
1.8.前缀和数组
| 题号 | 描述 | 完成状态 | | ------------------------------------------------------------ | ------------- | --------- | | 303. 区域和检索 - 数组不可变 | 模板题-前缀和 | 完成11.29 | | 304. 二维区域和检索 - 矩阵不可变 | | | | 238. 除自身以外数组的乘积 | | |
✅二分查找
1.二分查找应用(简单)
| 题号 | C++11 | Java8 | | ------------------------------------------------------------ | ----- | ----- | | 374 猜数字大小 | | | | 35 搜索插入位置 | | | | 278第一个错误的版本 | | | | 367 有效的完全平方数 | | | | 69 6 和 9 组成的最大数字 | 1 | | | 441 排列硬币 | | |
2.二分查找应用(中等)
| 题号 | C++11 | Java8 | | ------------------------------------------------------------ | ----- | ----- | | 34 在排序数组中查找元素的第一个和最后一个 | 1 | | | 540 有序数组中的单一元素 | | | | 275 H 指数 II | | | | 436 寻找右区间 | | | | 300 最长递增子序列 | | | | 354 俄罗斯套娃信封问题 | | | | 658 找到 K 个最接近的元素 | | | | 162 寻找峰值 | | | | 4寻找两个正序数组的中位数 | 1 | |
3.二分查找与旋转数组
| 题号 | C++11 | Java8 | | ------------------------------------------------------------ | ----- | ----- | | 153 寻找旋转排序数组中的最小值 | | | | 154 寻找旋转排序数组中的最小值 II | | | | 33 搜索旋转排序数组 | 1 | | | 81 搜索旋转排序数组 II | | |
4.二分查找与矩阵
| 题号 | C++11 | Java8 | | ------------------------------------------------------------ | ----- | ----- | | 74 搜索二维矩阵 | | | | 240 搜索二维矩阵 II | | |
5.二分答案法
| 题号 | C++11 | Java8 | | ------------------------------------------------------------ | ----- | ----- | | 378 有序矩阵中第 K 小的元素 | 1 | | | 668 乘法表中第k小的数 | | | | 410 分割数组的最大值 | | | | 483 最小好进制 | | |
✅02.链表
2.1.链表的删除
| 题号 | 描述 | 状态 | | ------------------------------------------------------------ | -------------- | ---- | | Ⓜ️203. 移除链表元素 | 哑结点『典例』 | 1 | | ⭐️237. 删除链表中的节点 | | 1 | | ⭐️19. 删除链表的倒数第N个节点 | | 1 |
2.2.链表的遍历
2.3.链表的旋转与反转
| 题号 | 描述 | 题目 | | ------------------------------------------------------------ | -------------- | ---- | | 61. 旋转链表 | 找实习好像做过 | 1 | | 24. 两两交换链表中的节点 | | | | 206. 反转链表 | | | | 92. 反转链表 II | | | | 25. K 个一组翻转链表 | | |
2.4.链表高精度加法
- Ⓜ️2. 两数相加
- Ⓜ️445. 两数相加 II
2.5.链表的合并
| 题号 | 描述 | 状态 | | ------------------------------------------------------------ | -------- | ---- | | 21. 合并两个有序链表 | 归并模板 | 1 | | 23. 合并K个升序链表 | 归并模板 | 1 |
✅双指针法
头尾指针
| 题号 | C++11 | Java8 | | ------------------------------------------------------------ | ----- |
