首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法训练
slowlybutsurely
创建于2022-04-04
订阅专栏
系统化练习LeetCode
暂无订阅
共14篇文章
创建于2022-04-04
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
算法训练--MSTOP(2)
链表 206. 反转链表 题目描述 题解 25. K 个一组翻转链表 题目描述 题解 141. 环形链表 题目描述 题解 21. 合并两个有序链表 题目描述 题解 142. 环形链表 II 题目描述
算法训练--MSTOP(1)
哈希表 3. 无重复字符的最长子串 题目描述 题解 560. 和为 K 的子数组 题目描述 题解 为什么这题不可以用双指针/滑动窗口:因为nums[i]可以小于0,也就是说右指针i向后移1位不能保证区
算法训练--动态规划(二)
股票问题 121. 买卖股票的最佳时机 题目描述 题解1:二维数组 确定dp数组(dp table)以及下标的含义 确定递推公式 dp数组如何初始化 确定遍历顺序 从递推公式可以看出dp[i]都是有d
算法训练--动态规划(一)
动态规划基础理论 什么是动态规划 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推
算法训练--贪心算法
什么是贪心算法 贪心的本质是选择每一阶段的局部最优,从而达到全局最优 这么说有点抽象,来举一个例子: 例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额,你要怎么拿? 指定每次拿最大的,最终结果就
算法训练--回溯
回溯概念 Backtracking 回溯法采用试错的思想,它尝试分步的去解决一个问题,在分步解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候,它将取消上一步甚至上几步的计
算法训练--二叉搜索树(3)
二叉搜索树(BST):二叉搜索树是一个有序树 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉
算法训练--二叉树(2)
二叉树的属性 101. 对称二叉树 题目描述 题解:对于二叉树是否对称,要比较的是根节点的左子树与右子树是不是相互翻转的,理解这一点就知道了其实我们要比较的是两个树(这两个树是根节点的左右子树) 本题
算法训练--二叉树(1)
基本概念 二叉树的种类 满二叉树与完全二叉树 满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树 这棵二叉树为满二叉树,也可以说深度为k,有2^
算法训练--栈与队列
基础概念 队列是先进先出,栈是先进后出 java中栈的实现 有两个方法:一个是用java本身的集合类型Stack类型;另一个是借用LinkedList来间接实现Stack stack的实现常用api如
算法训练--字符串
反转字符串 344. 反转字符串 题目描述 题解 541. 反转字符串 II 题目描述 题解 剑指 Offer 05. 替换空格 题目描述 题解 151. 颠倒字符串中的单词 题目描述 题解 剑指 O
算法训练--哈希表
哈希表基础理论 哈希表/散列表 哈希表也叫散列表:HashTable,一般哈希表都是用来快速判断一个元素是否出现集合里 哈希函数 哈希函数如下图所示,通过hashCode把名字转化为数值,一般hash
算法训练--链表
链表基本概念 链表的定义:链表是一种递归的数据结构,他或者为空(null),或者是指向一个结点(node)的引用,该结点含有一个泛型的元素和一个指向另一条链表的引用 链表是一种常见且基础的数据结构,是
算法训练--数组
数组基本理论 数组(Array)是有序的元素序列,数组是存放在连续内存空间上的相同类型数据的集合,数组可以方便的通过下标索引的方式获取到下标下对应的数据 正是因为数组的在内存空间的地址是连续的,所以我