c#
盘客
这个作者很懒,什么都没留下…
展开
-
面试题-把数组排成最小的数(C#)
题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打出这3个数字能排成的最小数字321323。 解题思路 这个题目最直接的做法应该是先求出这个数组中所有数字的全排列,然后把每个排列拼起来,最后求出拼起来的数字的最大值,这里不过多叙述。根据排列组合的知识,n个数字总共有n!个排列。我们再来看一种更快的算法。 这道...原创 2020-03-20 10:25:27 · 280 阅读 · 0 评论 -
面试题-从1到n整数中1出现的次数(C#)
题目描述 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1的数字有1,10,11和12,1一共出现了5次。 暴力解法(时间效率O(n*logn)) 如果在面试的时候碰到这个问题,应聘者大多能想到最直观的方法, 也就是累加1到n中每个整数1出现的次数。我们可以每次通过对10求余 数判断整数的个位数字是不是1。如果这个数字大于10,除以10之后再...原创 2020-03-18 15:09:16 · 412 阅读 · 0 评论 -
面试题-重建二叉树(C#实现)
题目:重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 解题思路 二叉树:二叉树是树的一种特殊结构,在二叉树中每个结点最多只能有两个子结点。在二叉树中最重要的操作是遍历,即按照某一顺序访问树...转载 2020-03-06 09:52:05 · 314 阅读 · 0 评论