首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法
Tonychen
创建于2021-05-13
订阅专栏
一起学算法
暂无订阅
共25篇文章
创建于2021-05-13
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
递归
一、什么是递归 1.1 递归的概念 维基百科中是这样定义递归的:在数学和计算机科学中,递归指由一种(或多种)简单的基本情况定义的一类对象或方法,并规定其他所有情况都能被还原为其基本情况。 1.2 理解
LeetCode 偶尔一题 —— 20. 有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。
LeetCode偶尔一题 —— 234. 回文链表
请判断一个链表是否为回文链表。 思考一个点,如果要用 $O(1)$ 时间复杂度来解决的话,说明要利用链表本身来解决这个问题。想通这点,下面的思路就能顺其自然的想出来了👇
LeetCode偶尔一题 —— 617. 合并二叉树
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 注意: 合并必须从两个树的根节点…
LeetCode偶尔一题 —— 314. 二叉树的垂直遍历
给定一个二叉树,返回其结点 垂直方向(从上到下,逐列)遍历的值。 如果两个结点在同一行和列,那么顺序则为 从左到右。 对于一棵二叉树,它的垂序遍历结果是从上到下,从左到右的。 因此,我们可以以根节点为起点,利用 index 来标记每个节点的顺序,对于不同深度的节点,我们则用 d…
《剑指offer》 —— 链表中倒数第k个节点
输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。 递归到链表结束,回溯到时候开始计数,直到 …
《剑指offer》 —— 青蛙跳台阶问题
一只青蛙一次可以跳上$1$级台阶,也可以跳上$2$级台阶。求该青蛙跳上一个 $n$级的台阶总共有多少种跳法。 答案需要取模 $1e9+7$($1000000007$),如计算初始结果为:$1000000008$,请返回 $1$。 ... 搜索「tony老师的前端补习班」关注我的…
《剑指offer》—— 二维数组中的查找
在一个 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 从左上角开始递归,如果当前值 小于 目标值,那么往 右边 / 下边 走,直到匹配目标值。 从右上角开始循环…
《剑指offer》—— 替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 ⚠️注意:正则表达式当中 \s 表示匹配空格,g 表示全局匹配,如果不熟悉正则表达式,直接去 MDN 上看一看,多练练就会了。 搜索「tony老师的前端补习班」关注我的微信公众号,那么就可以第一时间收到我的最新文章。
《剑指offer》—— 合并两个排序的链表
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 递归比较两个链表,逻辑同上。 搜索「tony老师的前端补习班」关注我的微信公众号,那么就可以第一时间收到我的最新文章。
《剑指offer》—— 礼物的最大价值
在一个 $m*n$ 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 $0$)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物? 搜索「tony老师的前端…
《剑指offer》—— 求1+2+…+n
然而题目中要求不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句(A ? B : C),那么前面两种解法自然就被我们排除掉了,只能用尾递归。 搜索「tony老师的前端补习班」关注我的微信公众号,那么就可以第一时间收到我的最新文章。
《剑指offer》—— 数组中重复的数字
在一个长度为 的数组 nums 里的所有数字都在 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 搜索「tony老师的前端补习班」关注我的微信公众号,那么就可以第一时间收到我的最新文章。
LeetCode偶尔一题 —— 53. 最大子序和
... 一直在 LeetCode 上刷题,之前还加入了组织,有兴趣加入一起学习的同学可以在下方留言或者关注我的微信公众号「tony老师的前端补习班」并在后台留言,可以进群跟大佬们一起学习。
LeetCode偶尔一题 —— 1. 两数之和
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 一直在 LeetCode 上刷题,之前还加入了组织,有兴趣加入一起学习的同学可以在下方留言或者关注我的微信公众号「tony老师的前端补习班」并在后台留言,可以进群跟大佬们一起学习。
LeetCode偶尔一题 —— 461. 汉明距离
它们之间的汉明距离就是 2,我们要求的就是两个二进制数值中位数不一样的地方,比如你是 1 他是 0,那么汉明距离就 +1。 异或运算是相对基础的知识,但是由于在平时的开发中几乎不会用到,难免生疏。这里简单罗列下常见的异或运算: 一直在 LeetCode 上刷题,之前还加入了组织…
LeetCode偶尔一题 —— 430. 扁平化多级双向链表
遇到问题我们首先要先搞清楚问题到底是什么,然后再想办法解决。对于 链表 的问题其实大部分都不算难,写代码之前最好动动笔在纸上画一下,思路便会清晰很多。 显然,我们需要递归处理 子链表,再把它跟 父链表 拼接在一起。 当然这里有个需要注意的地方,next 、 prev 和 chi…
LeetCode偶尔一题 —— 908. 最小差值 I
要得到最大值与最小值的最小差值,那么就应该让最大值尽可能小,最小值尽可能大。 一直在 LeetCode 上刷题,之前还加入了组织,有兴趣加入一起学习的同学可以在下方留言或者关注我的微信公众号「tony老师的前端补习班」并在后台留言,可以进群跟大佬们一起学习。
LeetCode偶尔一题 —— 14. 最长公共前缀
当然,这道题还有其他解法,比如二分法、分治法,官方题解 已经写得非常细致了,这里就不重复写了。 一直在 LeetCode 上刷题,之前还加入了组织,有兴趣加入一起学习的同学可以在下方留言或者关注我的微信公众号「tony老师的前端补习班」并在后台留言,可以进群跟大佬们一起学习。
LeetCode偶尔一题 —— 832. 翻转图像
扫描下方的二维码或搜索「tony老师的前端补习班」关注我的微信公众号,那么就可以第一时间收到我的最新文章。
下一页