我正试图解决这个问题:。
经过一些研究,我发现它可以归结为一个简单的计算第n个fib数,然而,n可以变得非常大,所以O(n)解不会有任何好处。在搜索时,我发现您可以计算O(logn)中的第n个fib数,还可以计算一个代码示例,该代码示例就是这样做的:
long long fibonacci(int n) {
long long fib[2][2] = {{1,1},{1,0}}, ret[2][2] = {{1,0},{0,1}}, tmp[2][2] = {{0,0},{0,0}};
int i, j, k;
while (n) {
if (n &am
我已经尝试创建一个代码来解决一个矩阵。
import java.util.Scanner;
public class Pratical_8 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Taking A Matrix
System.out.println("Enter number of Rows and Column for first Matrix");
System.out.print("Enter Rows
我很难理解划分集S中的元素数与第k个最小数之间的关系。假设我有这个伪代码:
Select (k,S)
if |S|=1 then return a in S
Choose random a in S
Let S1,S2,S3 be sets of elements in S (<,=,> to a)
If |S1|>=k then return Select(k,S1)
Else if |S1| + |S2| >= k then return a
Else return Select(k-|S1|-|S2|, S3)
据我所知,为了找到第k个最
线程"main“java.lang.ArrayIndexOutOfBoundsException: 100 at ham.main(ham.java:34)中的异常
我的控制台上的第34行说如果(hc == 1)
我编写了一个代码来生成汉明代码.我得到了javaindexoutbounds异常.我甚至给出了非常大的数组大小来防止tht..still不工作!即使你有足够的空间放这个数组,这个数组也是超越的。
第27行可能是c的mistake...checking。
import java.util.*;
public class ham {
public static void ma
我发现了以下算法,给定数组的长度n和要选择的索引的k数,生成k索引的所有可能组合。我已在此实施:
def combinations(n, k):
combinations = []
combination = [None]*k
for i in range(k):
combination[i] = i
while combination[k - 1] < n:
combinations.append(combination.copy())
t = k - 1
while t != 0 a
作为家庭作业,我被分配写一个算法,从无序的数字集中找到第k个有序的数字。作为一种方法,提出了median of medians算法。
不幸的是,我的尝试失败了。如果有人发现了错误,请纠正我。
private int find(int[] A, int size, int k) {
if (size <= 10) {
sort(A, 0, size);
return A[k];
} else {
int[] M = new int[size/5];
for (int i = 0; i < size / 5
如果没有现有的方法(如list.Add),如何在多维数组中找到第5或第7或第15大元素--如果您用c#编写它,我会很高兴的。
int[,,,] x =new int[100, 20, 35, 200];
...
int indis = 0;
int toplam = 0;
int enss = 0;
for (int i = 0; i < 100; i++) {
for (int j = 0; j < 20; j++) {
toplam = 0;
for (int k = 0; k < 35; k++) {
for (int l
我收到我的骰子概率程序的错误消息:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 13
at dice.dice.rollDie(dice.java:35)
at dice.dice.main(dice.java:20)
以下是出现错误的行:
第13行:int size = inputLine.nextInt();
第35行:回转辊;
第20行:Roll2= rollDie(roll2,size);
import java.util.Scanner;
public class dice
我必须找到每个数组元素的第n个nextInt。下面的代码非常慢,因为数组元素超过40k,每个数组元素超过一百万。 int[] numbers ={1000000,1004300,2204000,1306000...40k+};
for (int i = 0; i <numbers.length; i++) {
Random ran = new Random(1234);
int nex = 0;
for (int n = 0; n <numbers[i]; n++) {
nex = ran.nextInt();
}
System.o
我想做一个程序,它可以得到从左到上到右向下的路径总数,并且会有一些障碍在路上。
例如,如果我有一个网格迷宫,如下所示:
@ + + + +
+ + + X X
+ X + + +
+ + + X +
+ X + + X
+ + + + $
它应该告诉我,从@到$有9条路径(只能向右或向下移动)。因此,我首先为网格编写了一个没有任何障碍的小程序,下面是代码:
import java.util.*;
import java.math.*;
public class s15 {
private static long nChooseK(int k, int n) {
Big
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
for (int k = 0; k < 5; k++) {
for (int l = 0; l < 5; l++) {
look up in a perfect constant time hash table
}
}
}
}
这在大θ中的运行时间是多少?
我最好的猜测是:我总是看到嵌套的for循环是O(n^k),其中k是循环
我试图用平稳小波变换的水平系数来重建输入图像。
[A,H,V,D ] = swt2(x,1,'sym4');
A = 0; V = 0; D = 0; %i am setting other co-efficents to zero since i am only intersted in the values of H %
Y = iswt2(A,H,V,D,'sym4') ; %this gives the following error below%
iswt2/reconsLOC (第153行)ca(sR,sC)、ch(sR,sC,k)、cv(sR
我试图通过一个安卓应用中的套接字连接来读取JSON-Strings,但是突然得到了我无法解释的StringIndexOutOfBoundsExceptions (屏蔽了包名中的一些标识符):
java.lang.StringIndexOutOfBoundsException: length=10000; regionStart=0; regionLength=-1
at java.lang.StringFactory.newStringFromChars(StringFactory.java:218)
at **.***********.SocketHandler.listen
我试图计算模,这里可能很大:高达10^18,是第n位斐波纳契数,这是我的代码,它能很好地处理小数字,但是对于大的数字,它会抛出OutOfMemoryError或NegativeArraySizeException。
import java.util.*;
public class FibonacciHuge {
private static long getFibonacciHugeFast(long n, long m) {
long[] arr = new long[(int) n + 1];
arr[0] = 0;
arr[1] = 1;
for (int i = 2; i <
在欧几里德算法计算gcd(x, y)的例子中,x总是比y大。这种情况重要吗?如果x比y小,会发生什么?为什么这个程序仍然返回正确的结果,即使输入的x值小于y
import acm.program.*;
/*
GCD Algorithm - greatest common divisor. "Euclid Algorithm approach"
*/
public class EuclidsAlgorithm extends ConsoleProgram {
public void run(){
println("This program is
我写了一个小代码,它在VS上工作,但是当它在网上提交时会出现问题,所以它需要用同一行格式的输入。
格式需要N个整数,取列表中的数字,下一行需要N个元素,在同一行中用空格分隔,下一个应该输出和。我已经这样做了,但是有一个问题,它不允许我输入不大于87,它在第17行给了我NumberFormatException。为了在我从这里得到的一行中获得数组内容: Newbie in C#,是用Java做的。
class MyClass {
static void Main(string[] args) {
int i,k;
int sum=0;
int n;
n = C
我正在尝试编写一个函数来对3d数组的元素求和,但是它总是说我将3d数组作为参数传递的行有问题。我的代码如下:
#include <stdio.h>
int sum3darray(a[][][], size);
main() {
int check[3][3][3]={ 0 };
int size=3;
printf("The sum is %d\n",sum3darray(check,size));
}
int sum3darray(a[][][],size) {
int i,j,k,sum=0;
for(i=0