little-algorithm
little-algorithm copied to clipboard
LeetCode 题目参考代码与详细讲解,公众号《面向大象编程》文章整理
Little Algorithm
从 2020 年初开始,我在公众号《面向大象编程》上发表面试算法、LeetCode 题解相关文章,至今收获不少好评。此仓库是公众号内容的补充,包括公众号文章涉及到的题目的参考代码,以及 LeetCode 题目到文章链接的索引。
如何使用本仓库
1、关注我的公众号 面向大象编程 获取文章更新。我的公众号坚持原创更新,干货分享,绝对是值得关注的技术公众号。
2、公众号文章目前绝大部分都是拿 LeetCode 原题作为例题,讲解算法题解题思路。从下方「参考代码」部分的表格中找到你喜欢的 LeetCode 题目,即可找到对应的参考代码以及讲解文章链接。
参考代码
题号 | 题目名 | 题解代码 | 对应文章 |
---|---|---|---|
11 | Container With Most Water 盛最多水的容器 |
Java | LeetCode 11. 盛最多水的容器 |
19 | Remove Nth Node From End of List 删除链表的倒数第N个节点 |
Java | LeetCode 例题精讲 | 05 双指针×链表问题:快慢指针 |
39 | Combination Sum 组合总和 |
Java | 一套代码解决 Combination Sum 系列问题(LeetCode 39/40/216) |
40 | Combination Sum II 组合总和 II |
Java | 一套代码解决 Combination Sum 系列问题(LeetCode 39/40/216) |
46 | Permutations 全排列 |
Java | LeetCode 例题精讲 | 08 排列组合问题:回溯法的候选集合 |
47 | Permutations II 全排列 II |
Java | LeetCode 例题精讲 | 09 排列组合问题再探:回溯法的去重策略 |
53 | Maximum Subarray 最大子序和 |
Java(1, 2, 3, 4, 5) | LeetCode 例题精讲 | 16 最大子数组和:子数组类问题的动态规划技巧 |
72 | Edit Distance 编辑距离 |
Java | 经典动态规划:编辑距离 |
77 | Combinations 组合 |
LeetCode 例题精讲 | 08 排列组合问题:回溯法的候选集合 | |
78 | Subsets 子集 |
Java | LeetCode 例题精讲 | 03 从二叉树遍历到回溯算法 |
90 | Subsets II 子集 II |
Java | LeetCode 例题精讲 | 09 排列组合问题再探:回溯法的去重策略 |
98 | Validate Binary Search Tree 验证二叉搜索树 |
Java | LeetCode 例题精讲 | 11 二叉树转化为链表:二叉树遍历中的相邻结点 |
102 | Binary Tree Level Order Traversal 二叉树的层序遍历 |
Java | LeetCode 例题精讲 | 13 BFS 的使用场景:层序遍历、最短路径问题 |
110 | Balanced Binary Tree 平衡二叉树 |
Java | LeetCode 例题精讲 | 10 二叉树直径:二叉树遍历中的全局变量 |
112 | Path Sum 路径总和 |
Java | LeetCode 例题精讲 | 02 Path Sum:二叉树的子问题划分 |
113 | Path Sum II 路径总和 II |
Java | LeetCode 例题精讲 | 03 从二叉树遍历到回溯算法 |
123 | Best Time to Buy and Sell Stock III 买卖股票的最佳时机 III |
Java | 一文教你股票买卖问题实用而装逼的解法 |
124 | Binary Tree Maximum Path Sum 二叉树中的最大路径和 |
Java | LeetCode 例题精讲 | 10 二叉树直径:二叉树遍历中的全局变量 |
141 | Linked List Cycle 环形链表 |
Java | LeetCode 例题精讲 | 05 双指针×链表问题:快慢指针 |
148 | Sort List 排序链表 |
Java | 链表综合题 | LeetCode 148. 链表排序 |
167 | Two Sum II - Input array is sorted 两数之和 II - 输入有序数组 |
Java | LeetCode 例题精讲 | 04 用双指针解 Two Sum:缩减搜索空间 |
189 | Rotate Array 旋转数组 |
Java | LeetCode 例题精讲 | 06 旋转数组问题:基本操作的威力 |
198 | House Robber 打家劫舍 |
Java | LeetCode 例题精讲 | 14 打家劫舍问题:动态规划的解题四步骤 |
206 | Reverse Linked List 反转链表 |
Java | LeetCode 例题精讲 | 01 反转链表:如何轻松重构链表 |
216 | Combination Sum III 组合总和 III |
Java | 一套代码解决 Combination Sum 系列问题(LeetCode 39/40/216) |
240 | Search a 2D Matrix II 搜索二维矩阵 II |
Java | LeetCode 例题精讲 | 04 用双指针解 Two Sum:缩减搜索空间 |
242 | Valid Anagram 有效的字母异位词 |
Java | LeetCode 例题精讲 | 07 变位词问题:基本数据结构的威力 |
303 | Range Sum Query - Immutable 区域和检索 - 数组不可变 |
Java | LeetCode 例题精讲 | 18 前缀和:空间换时间的技巧 |
322 | Coin Change 零钱兑换 |
Java | 经典动态规划:「换硬币」系列三道问题详解 |
377 | Combination Sum IV 组合总和 Ⅳ |
Java | 经典动态规划:「换硬币」系列三道问题详解 |
426 | Convert Binary Search Tree to Sorted Doubly Linked List 将二叉搜索树转化为排序的双向链表 |
Java | LeetCode 例题精讲 | 11 二叉树转化为链表:二叉树遍历中的相邻结点 |
463 | Island Perimeter 岛屿的周长 |
Java | LeetCode 例题精讲 | 12 岛屿问题:网格结构中的 DFS |
518 | Coin Change 2 零钱兑换 II |
Java | 经典动态规划:「换硬币」系列三道问题详解 |
543 | Diameter of Binary Tree 二叉树的直径 |
Java | LeetCode 例题精讲 | 10 二叉树直径:二叉树遍历中的全局变量 |
560 | Subarray Sum Equals K 和为K的子数组 |
Java | LeetCode 例题精讲 | 18 前缀和:空间换时间的技巧 |
563 | Binary Tree Tilt 二叉树的坡度 |
Java | LeetCode 例题精讲 | 10 二叉树直径:二叉树遍历中的全局变量 |
695 | Max Area of Island 岛屿的最大面积 |
Java | LeetCode 例题精讲 | 12 岛屿问题:网格结构中的 DFS |
718 | Maximum Length of Repeated Subarray 最长重复子数组 |
Java | LeetCode 例题精讲 | 16 最大子数组和:子数组类问题的动态规划技巧 |
724 | Find Pivot Index 寻找数组的中心索引 |
Java | LeetCode 例题精讲 | 18 前缀和:空间换时间的技巧 |
827 | Making A Large Island 最大人工岛 |
Java | LeetCode 例题精讲 | 12 岛屿问题:网格结构中的 DFS |
876 | Middle of the Linked List 链表的中间结点 |
Java | LeetCode 例题精讲 | 05 双指针×链表问题:快慢指针 |
978 | Longest Turbulent Subarray 最长湍流子数组 |
Java | LeetCode 例题精讲 | 17 动态规划如何拆分子问题,简化思路 |
1143 | Longest Common Subsequence 最长公共子序列 |
Java | LeetCode 例题精讲 | 15 最长公共子序列:二维动态规划的解法 |
1162 | As Far from Land as Possible 地图分析 |
Java | LeetCode 例题精讲 | 13 BFS 的使用场景:层序遍历、最短路径问题 |
1372 | Longest ZigZag Path in a Binary Tree 二叉树中的最长交错路径 |
Java | 二叉树问题太复杂?「三步走」方法解决它! |
1373 | Maximum Sum BST in Binary Tree 二叉搜索子树的最大键值和 |
Java | 二叉树问题太复杂?「三步走」方法解决它! |
公众号文章整理
可关注公众号《面向大象编程》,在公众号菜单中有文章目录。