牛客
CR7lmz
这个作者很懒,什么都没留下…
展开
-
牛客 丑数
题目要求: 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 解析思路: 参考大佬:事无巨细,悉究本末(2楼) 首先从丑数的定义我们知道,就是说一个丑数一定由另一个丑数乘以2或者乘以3或者乘以5得到,那么我们从1开始乘以2,3,5,就得到2,3,5三个丑数,在从这三...原创 2020-02-09 15:51:04 · 230 阅读 · 0 评论 -
牛客 把数组排成最小的数
题目要求: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 思路解析: 刚开始没什么思路,只是想把越大的数转为字符串放在后面,越小的数放在前面。之后参考了一篇的博客,一下就明白了。 https://blog.csdn.net/fanzitao/article/detai...原创 2020-02-08 17:32:18 · 189 阅读 · 0 评论 -
牛客 整数中1出现的次数(从1到n整数中1出现的次数
题目要求: 求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。 ...原创 2020-02-08 15:59:47 · 208 阅读 · 0 评论 -
牛客 字符串的排列
题目要求: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 递归算法的四个特性: 1.必须有可达到的终止条件,否则程序将陷入死循环。 2.子问题在规模上比原问题小。 3.子问题可通过再次递归调用求解。 4.子问题的解应能组合成整个问题的解。 思路解析: 这是个递归求解的问...原创 2020-02-07 17:05:52 · 257 阅读 · 0 评论 -
牛客 二叉搜索树与双向链表
题目要求: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。原创 2020-02-06 16:23:38 · 144 阅读 · 0 评论 -
牛客 复杂链表的复制
题目要求: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 思路解析: 分为三步: 1.复制每个结点,并将复制的结点放在原结点后面。(比如:复制A结点得到A1,将A1插入到A后面),这样做是为了找到复制结点的random指针域。 ...原创 2020-02-05 16:34:20 · 117 阅读 · 0 评论 -
牛客 二叉搜索树的后序遍历序列
题目要求: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 思路解析: 由题目得到:因为是后序遍历,所以序列最后一个元素一定是树的根root。又因为是二叉搜索树,所以左子树所有的值小于root,右子树所有的值大于root。 因此我们可以通过遍历整个序列来在找到第一个大于root的值,从而找到左右子树,再递归...原创 2020-02-04 16:00:16 · 163 阅读 · 0 评论 -
牛客 顺时针打印矩阵
题目要求: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。 解题思路: 1.定义四个变量left、top、right、butt来规定矩形的左、上、右、下边界。 2.打印第一圈的...原创 2020-02-02 17:40:17 · 153 阅读 · 0 评论 -
牛客 树的子结构
题目要求: 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解决此题需要分为两步: 1.在A树中找到与B树的根节点的值相等的结点R。 2.再判断B树是否与A树中以R为根的子树具有相同的结构。 第一步: 1.递归遍历树A,在树A中找与B树的根节点的值相等的结点R。 2.若找到进行第二步操作。 3.若没找到,则返回false。 代码实现如下: bool Ha...原创 2020-02-01 16:55:41 · 114 阅读 · 0 评论