算法
nvd11
大龄程序员
展开
-
算法题:有1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数?并把他们都输出
有1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数?我们可以首先遍历以1开头的的数字, 然后遍历以1x开头哦的数字…(x in 2,3 ,4)…上面的槽点很多, 如果笔试时敢这么写, 面试官就一大堆问题问了。我们可以直接循环100 到 999 把符合条件的数字调出来就行。只不过是把所有可能性都会列出来。其实这题有点类似于概率问题。的时间复杂度, 相当可怕。原创 2022-10-10 00:20:35 · 884 阅读 · 0 评论 -
算法题: 一球从100米高度自由落下,每次落地后反跳回原高度的一半
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?而问题问的第10次反弹高度,应该是问第10次落地, 再反弹多少米,实际上这个反单在程序里是算第11次。那么第一次的高度就是 y, 第二次高度就是y/2, 第3次就是y/4…我们以从反弹到落地计算为1次, 则每次反弹和下落的路径是一样的。假如 第球从y米落下, 第n次的高度是y(n)而反单的高度就可以用上面的公式得出来了。我们先不考虑反弹的路径, 只考虑高度。, 这就是求某次高度的公式。原创 2022-10-09 22:00:38 · 7403 阅读 · 0 评论 -
算法题:求s=a+aa+aaa+aaaa+aa…a的值
求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。我们假设a 就是那个数字(1 ~ 9) , 最大长度是n。有了上面这个公式, 解题思路就不难了。无非就是求下面的公式的值。原创 2022-10-09 18:32:54 · 2015 阅读 · 0 评论 -
算法题:求两个整数的最小公约数和最大公倍数
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。原创 2022-10-09 17:45:34 · 871 阅读 · 0 评论 -
算法题-质因数分解
当然如果可以先求出小与n点质数列表。问题会简单得多, 但是求出这质数列表是另1个story, 这里不会采用这种方法。我们 会 从x=2开始, 逐个去除n,如果n能被x整除, 则把x放入1个结果列表,而且n=n/x。返回 1个质因数数组, 数据内的元素都是大于1都质数, 而且数据内的元素的乘积就是给出的整数n。然后继续用x去除 n (上一次操作的商),直至n不能不x整除时, x=x+1。例如 n = 100, 返回[2,2,5,5]继续此操作, 直至n=1(分解完成)为止。思路, 基本上就是硬来。原创 2022-10-09 10:41:53 · 192 阅读 · 0 评论 -
算法题: 求1至n的素数列表
首先当今数学家还没有1个求素数的准确公式, 否则大部分都加密算法都可以轻松被破解。当前的做法是,对于n这个数, 我们会用从2 开始的素数,去逐个去尝试去整除n求余数。当然我们不需要从2 开始的素数,一直吃尝试到n -1, 只需要尝试到。其实这个题无非就是考怎么编写1个核心函数。f(int n) 判断这个函数是否素数。如果某个素数能整除, 则这个数是合数。思路我们就可以做操作了。原创 2022-10-09 03:23:58 · 304 阅读 · 0 评论 -
算法题-菲波拉契数列问题
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?也就是说g(7) = 8 , 而 f(7) = g(7) + 5 = f(6) + g(6) = 8 + 5。可以推导出f(n) = f(n-1) + g(n-1) = f(n-1) + f(n-2)其实, 对于这种数列求f(n)的问题, 我们的做法是先列出头几个n的值, 然后从中找规律。那么 f(8) = f(7) + g(7) = 13 +8。原创 2022-10-08 23:11:30 · 170 阅读 · 0 评论