算法
蔚蓝色的天空下
这个作者很懒,什么都没留下…
展开
-
合法二叉搜索树——中序遍历判断结果是否为递增数组
实现一个函数,检查一棵二叉树是否为二叉搜索树。示例 1:输入:2/ 1 3输出: true示例 2:输入:5/ 1 4/ 3 6输出: false解释: 输入为: [5,1,4,null,null,3,6]。根节点的值为 5 ,但是其右子节点值为 4 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/legal-binary-search-tree-lcci一开始想了好久不知道用啥方法(大二的数据结构白学原创 2020-05-21 22:11:57 · 481 阅读 · 0 评论 -
字母大小写全排列——无需打乱顺序进行的回溯算法
leetcode:字母大小写全排列给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。示例:输入: S = “a1b2”输出: [“a1b2”, “a1B2”, “A1b2”, “A1B2”]输入: S = “3z4”输出: [“3z4”, “3Z4”]输入: S = “12345”输出: [“12345”]注意:S...原创 2020-05-07 22:31:23 · 575 阅读 · 0 评论 -
优美的排列——加深对回溯算法层数的理解
leetcode:优美的排列假设有从 1 到 N 的 N 个整数,如果从这 N 个数字中成功构造出一个数组,使得数组的第 i 位 (1 <= i <= N) 满足如下两个条件中的一个,我们就称这个数组为一个优美的排列。条件:第 i 位的数字能被 i 整除i 能被第 i 位上的数字整除现在给定一个整数 N,请问可以构造多少个优美的排列?示例1:输入: 2输出: 2解释:...原创 2020-05-07 21:20:45 · 168 阅读 · 0 评论 -
C++实现全排列——初识回溯算法
给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permutations初识回溯算法,代码如下:#include<iost...原创 2020-04-27 23:11:58 · 836 阅读 · 0 评论 -
两数相加——C++中链表的相加
两数之和:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 ...原创 2020-04-23 23:06:30 · 418 阅读 · 0 评论 -
C语言十六进制转换为八进制
问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。【注意】 输入的十六进制数不会有前导0,比如012A。 输出的八进制...原创 2019-01-31 23:16:09 · 4823 阅读 · 3 评论