小编spa*_*det的帖子

Fibonacci兔子在任意数月之后死亡

所以,我已经看到了针对这个问题或类似问题的一些解决方案,但我真的想知道为什么 我的工作不起作用.它比我找到的很多解决方案更容易阅读,所以我很乐意让它发挥作用!

从1对兔子开始,2个月后开始繁殖.跑了n个月,兔子在生活了几个月后就死了.输入'6 3'应该返回4,但它返回3.

#run for n months, rabbits die after m months.
n, m = input("Enter months to run, and how many months rabbits live, separated by a space ").split() 
n, m = int(n), int(m)
generations = [1, 1, 2] #Seed the sequence with the 1 pair, then in their reproductive month.
def fib(i, j):
    count = 3 #we start at the 3rd generation.
    while (count < i):
        if (count < j):
            generations.append(generations[count-2] + generations[count-1]) #recurrence relation before …
Run Code Online (Sandbox Code Playgroud)

python fibonacci rosalind

11
推荐指数
1
解决办法
7429
查看次数

Java中的双人广场(Facebook黑客杯2011)

所以它工作正常,所需的两个主要变化只是检查x的平方根(还需要将我的检查案例从checkign翻转到余数到检查取幂).另一个变化是使用双倍显然是鲁莽的,因为数字将超过最大双倍.

这是CodeEval的一个挑战,我想Facebook首先提出这个问题.这就是我的大脑立即吐出的东西.它通过所有手动测试案例(例如10-> 1,25-> 2,3-> 0).我还没有看到任何其他解决方案,因为我想先看看我是如何用自己的想法做的.如果我离开基地,这将永远不会奏效,我会很感激有人这么说:P.如果这永远不会奏效,我必须找到一条新的方法,我会花更多的时间来讨论这个问题.

我不会立即看到任何不满足的情况......但这不是问题.我从来都不擅长计算运行时复杂度,但我认为我已经有太多的嵌套了.

我想从右边和左边检查(这在代码中更清楚一点),我会严重减少运行时间.我不确定这是不是就像我想的那样有效,或者其他循环仍然太多......或者两者兼而有之.

有什么想法吗?这是可以挽救的,还是应该废弃它并以新的方式思考?

问题和代码如下.谢谢你看:-)

致谢:这一挑战出现在2011年的Facebook黑客杯中.
双方数是一个整数X,可以表示为两个完美正方形的总和.例如,10是双平方,因为10 = 3 ^ 2 + 1 ^ 2.在给定X的情况下,您在此问题中的任务确定了可以将其写为两个方格的总和的方式.例如,10只能写为3 ^ 2 + 1 ^ 2(我们不计算1 ^ 2 + 3 ^ 2不同).另一方面,25可以写成5 ^ 2 + 0 ^ 2或4 ^ 2 + 3 ^ 2.
注意:不要尝试暴力攻击.不起作用.以下约束成立:
0 <= X <= 2147483647
1 <= N <= 100

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class DoubleSquares {
    public static void main(String[] args) throws IOException {
        File file = new File(args[0]);
        BufferedReader …
Run Code Online (Sandbox Code Playgroud)

java algorithm

0
推荐指数
1
解决办法
1268
查看次数

标签 统计

algorithm ×1

fibonacci ×1

java ×1

python ×1

rosalind ×1