Skip to content

Latest commit

 

History

History
65 lines (56 loc) · 13.2 KB

README.md

File metadata and controls

65 lines (56 loc) · 13.2 KB

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 二叉树问题太复杂?「三步走」方法解决它!

公众号文章整理

可关注公众号《面向大象编程》,在公众号菜单中有文章目录。