小编Nar*_*odi的帖子

找到Fibonacci系列的总和

我已经给出了Set A我必须找到A的所有子集的Fibonacci和的总和.

Fibonacci(X)- 是Fibonacci系列的第X个元素
例如,用于A = {1,2,3}:

Fibonacci(1)+ Fibonacci(2)+ Fibonacci(3)+ Fibonacci(1 + 2)+ Fibonacci(2 + 3)+ Fibonacci(1 + 3)+ Fibonacci(1 + 2 + 3)1 + 1 + 2 + 2 + 5 + 3 + 8 = 22

有没有办法可以在不生成子集的情况下找到总和?

因为我觉得所有的子集的总和容易
Sum of All Subset - (1+2+3)*(pow(2,length of set-1))

algorithm fibonacci

6
推荐指数
1
解决办法
1491
查看次数

反转数组查询

我有一个大小为N的数组,我给出了两种类型的查询

1 LR反转[L,R]
2 L中的所有元素在索引L处查找值.

Example: [1,2,3,4,5]
1 2 4   -> [1,4,3,2,5]
1 4 5   -> [1,4,3,5,2]
2 5    -> 2
Run Code Online (Sandbox Code Playgroud)

Q - 查询
Q <= 10 ^ 5和N <= 10 ^ 5
直接解决方案将是O(Q*N),这将是相当慢的,如何使它更快可以使用分段树?

algorithm tree data-structures

5
推荐指数
1
解决办法
970
查看次数

将给定数字表示为四个方格的总和

我正在寻找一种算法,将一个给定的数字表示为(最多)四个方格的总和.

例子

       120 = 8 2 + 6 2 + 4 2 + 2 2
       6 = 0 2 + 1 2 + 1 2 + 2 2
       20 = 4 2 + 2 2 + 0 2 + 0 2

我的方法

取平方根并重复重复此余数:

while (count != 4) {
    root = (int) Math.sqrt(N)
    N -= root * root
    count++
} 
Run Code Online (Sandbox Code Playgroud)

但是当N为23时,即使有解决方案,这也会失败:

       3 2 + 3 2 + 2 2 + 1 2

  1. 有没有其他算法可以做到这一点?

  2. 它总是可能吗?

algorithm math

3
推荐指数
1
解决办法
2884
查看次数

求解线性方程组

我必须找出一个等式的积分解,ax+by=c这个x>=0y>=0 和的值(x+y) is minimum.

我知道如果c%gcd(a,b)}==0那么它总是可能的.如何找到x和y的值?

我的方法

for(i 0 to 2*c):
    x=i
    y= (c-a*i)/b
    if(y is integer)
    ans = min(ans,x+y)
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点?有更好的时间复杂性.

algorithm numbers

3
推荐指数
1
解决办法
195
查看次数

选择最佳矩阵

我给出的X尺寸的矩阵Ni*Mi,其中1<=N<=4 and 1<=M<=4, for all 1 <= i <= X

游戏包括从给定X矩阵之一中选择任何矩形(子矩阵)并移除该子矩阵.

例如:我们有1个大小的矩阵4x4.玩家1可以选择大小的子矩阵4x4(在这种情况下是整个矩阵)并将其删除.或者他们可以选择子矩阵2x21x12x3或任何有效的子矩阵,并将其从4x4矩阵中删除,我们在游戏中留下剩余的矩阵.

无法移动的玩家输了.

哪位球员获胜?

两个播放器都以最佳方式播放.

algorithm matrix game-theory nim-game

2
推荐指数
1
解决办法
785
查看次数

如何在Java中释放内存

我有这段代码

A = new int[100];
B = new int[100];
C = boolean[100];

for(int i=1;i<=10000000;i++)
{
     A = new int[100];
     B = new int[100];
     C = boolean[100];

     // Do Something

     // Now i don't need A,B,C Array
}
Run Code Online (Sandbox Code Playgroud)

我使用内存创建数组多少次,我能有效地使用内存吗?我不需要以前的数组,我只需要当前的数组.

我不想使用任何额外的内存来存储以前的数组?我的代码内存有效吗?

java

-1
推荐指数
1
解决办法
3020
查看次数