
递归算法
lyd1995
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
圆圈中最后剩下的数字
0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。 示例 1: 输入: n = 5, m = 3 输出: 3 示例 2: 输入: n = 10, m = 17 输出: 2 限制: ...原创 2020-03-30 19:22:13 · 786 阅读 · 0 评论 -
leetcode306-累加数
给定一个只包含数字 ‘0’-‘9’ 的字符串,编写一个算法来判断给定输入是否是累加数。 说明: 累加序列里的数不会以 0 开头,所以不会出现 1, 2, 03 或者 1, 02, 3 的情况。 示例 1: 输入: "112358" 输出: true 解释: 累加序列为: 1, 1, 2, 3, 5, 8 。1 + 1 = 2, 1 + 2 = 3, 2 + 3 = 5, 3 + 5 = 8 示...原创 2019-09-17 11:24:00 · 262 阅读 · 0 评论 -
leetcode964-表示数字的最少运算符
给定一个正整数 x,我们将会写出一个形如 x (op1) x (op2) x (op3) x … 的表达式,其中每个运算符 op1,op2,… 可以是加、减、乘、除(+,-,*,或是 /)之一。例如,对于 x = 3,我们可以写出表达式 3 * 3 / 3 + 3 - 3,该式的值为 3 。 在写这样的表达式时,我们需要遵守下面的惯例: 除运算符(/)返回有理数。 任何地方都没有括...原创 2019-09-09 08:45:50 · 860 阅读 · 0 评论 -
leetcode227-基本计算器 II
实现一个基本的计算器来计算一个简单的字符串表达式的值。 字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。 示例 1: 输入: "3+2*2" 输出: 7 示例 2: 输入: " 3/2 " 输出: 1 示例 3: 输入: " 3+5 / 2 " 输出: 5 说明: 你可以假设所给定的表达式都是有效的。 请不要使用内置的库函数 eval。 一...原创 2019-08-28 14:48:31 · 507 阅读 · 0 评论 -
LeetCode130-被围绕的区域
给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。 找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例: X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为: X X X X X X X X X X X X X O X X 解释: 被围绕的区间不会存在于边界上,换句话说,任何边界上的 ‘O’ 都不会被填充为 ‘X...原创 2019-06-17 09:28:05 · 404 阅读 · 0 评论 -
LeetCode119-杨辉三角 II
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 3 输出: [1,3,3,1] 一、思路 见:LeetCode118-杨辉三角 C++代码 class Solution { public: vector<int> ans; vector<int> getRow(int rowIn...原创 2019-06-13 12:52:02 · 168 阅读 · 0 评论 -
LeetCode118-杨辉三角
给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 一、思路 首先观察杨辉三角的特点: 开始与结束的位置都是1 中间的数是它左上方和右上方的数的和 根据该性质,可以用...原创 2019-06-13 12:44:03 · 177 阅读 · 0 评论 -
LeetCode101-对称二叉树
给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 说明: 如果你可以运用递归和迭代两种方法解决这个问题,会很...原创 2019-05-16 10:02:46 · 98 阅读 · 0 评论 -
LeetCode100-相同的树
给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] 输出: true 示例 2: 输入: 1 ...原创 2019-05-15 21:21:06 · 140 阅读 · 0 评论 -
LeetCode94-二叉树的中序遍历
给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 一、思路 1、递归版本: class Solution { public: vector<int> nums; vector<int> inorder...原创 2019-04-30 20:10:48 · 150 阅读 · 0 评论 -
LeetCode95-不同的二叉搜索树 II
给定一个整数 n,生成所有由 1 … n 为节点所组成的二叉搜索树。 示例: 输入: 3 输出: [ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3] ] 解释: 以上的输出对应以下 5 种不同结构的二叉搜索树: 1 3 3 2 ...原创 2019-05-08 15:31:51 · 192 阅读 · 0 评论 -
LeetCode77-组合
LeetCode77-组合 给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 一、回溯算法 很明显的回溯特征,凡是要求列出全部的可能的题目都可以用回溯算法解决 并且数字都是有序的,可以加以利用,使得确保:n...原创 2019-03-28 17:19:09 · 163 阅读 · 0 评论 -
LeetCode29-两数相除
LeetCode29-两数相除 给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数 dividend 除以除数 divisor 得到的商。 示例 1: 输入: dividend = 10, divisor = 3 输出: 3 示例 2: 输入: dividend = 7, divisor = -3 输出: -2 说明...原创 2019-03-03 14:24:22 · 258 阅读 · 0 评论