首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
算法题解
阿芯爱编程
创建于2022-03-30
订阅专栏
算法实现,讲解
暂无订阅
共163篇文章
创建于2022-03-30
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
合并两个有序数组-双指针
```java // 合并两个有序数组-双指针 // 输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3 // 输出:[1,2,2,3,5,
电话号码的字母组合
```java // 电话号码的字母组合 // 输入:digits = "23" // 输出:["ad","ae","af","bd","be","bf","cd","ce","cf"] public
课程表-图
```java // 课程表-图 // 输入:numCourses = 2, prerequisites = [[1,0]] // 输出:true // 解释:总共有 2 门课程。学习课程 1 之前,
二叉树的层序遍历
```java // 二叉树的层序遍历 // 输入:root = [3,9,20,null,null,15,7] // 输出:[[3],[9,20],[15,7]] public static Lis
二叉树的直径
```java // 二叉树的直径 // 输入:root = [1,2,3,4,5] // 输出:3 // 解释:3 ,取路径 [4,2,1,3] 或 [5,2,1,3] 的长度。 private s
翻转二叉树-递归
```java // 翻转二叉树-递归 // 输入:root = [2,1,3] // 输出:[2,3,1] public static TreeNode invertTree(TreeNode ro
回文链表-快慢指针
```java // 回文链表-快慢指针 // 输入:head = [1,2,2,1] // 输出:true public static boolean isPalindrome(ListNode h
环形链表-hash-快慢指针
```java // 环形链表-hash-快慢指针 // 输入:head = [3,2,0,-4], pos = 1 // 输出:true // 解释:链表中有一个环,其尾部连接到第二个节点。 pub
数组中的第k个最大元素-快速排序
```java // 数组中的第k个最大元素-快排序 // 输入: [3,2,1,5,6,4], k = 2 // 输出: 5 private static int quickSelect(List
前k个高频元素-堆
```java // 前k个高频元素-堆 // 输入: nums = [1,1,1,2,2,3], k = 2 // 输出: [1,2] public static int[] topKFrequen
无重复字符的最长子串-滑动窗口
```java // 无重复字符的最长子串-滑动窗口 // 输入: s = "abcabcbb" // 输出: 3 // 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 publi
盛水最多的容器-双指针
```java // 盛水最多的容器-双指针 // 输入:[1,8,6,2,5,4,8,3,7] // 输出:49 // 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况
移动零-双指针
```java // 移动零-双指针 // 输入: nums = [0,1,0,3,12] // 输出: [1,3,12,0,0] public static void moveZeroes(int[
最长连续序列-hash
```java // 最长连续序列-hash // 输入:nums = [100,4,200,1,3,2] // 输出:4 // 解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。
字母异位词分组
```java // 字母异位词分组 排序+hash // 输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"] // 输出: [["bat"],
子集-递归
```java // 子集-递归 // 输入:nums = [1,2,3] // 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] public static
最长有效括号-动态规划
```java // 最长有效括号-动态规划 // 输入:s = "(()" // 输出:2 // 解释:最长有效括号子串是 "()" public int longestValidParenthes
分割等和子集-01背包问题
```java // 分割等和子集-01背包问题 // 输入:nums = [1,5,11,5] // 输出:true // 解释:数组可以分割成 [1, 5, 5] 和 [11] 。 public
乘积最大子数组-动态规划
```java // 乘积最大子数组-动态规划 // 输入: nums = [2,3,-2,4] // 输出: 6 // 解释: 子数组 [2,3] 有最大乘积 6。 public static in
单词拆分-动态规划
```java // 单词拆分-动态规划 // 输入: s = "leetcode", wordDict = ["leet", "code"] // 输出: true // 解释: 返回 true 因
下一页