时间限制扩展是执行以下代码的成功编译的类文件时的状态。
import java.io.*;
public class CandidateCode {
public static int ThirstyCrowProblem(int[] input1, int input2, int input3) {
int[] arrK = new int[input3];
int minstones = 0;
for (int i = 0; i < input3; i++) //create an array of k Os.
{
int smallest = input1[0], place = 0;
for (int j = 0; j < input2; j++) {
if ((smallest >= input1[j]) && (input1[j] >= 0)) {
smallest = input1[j];
place = j;
}
}
input1[place] = -1;
arrK[i] = smallest;
}
int n = input2, i = 0;
while (i < input3)
minstones = minstones + arrK[i] * (n - i);
return minstones;
}
public static void main(String[] args) {
int[] arr = new int[] {
5, 58
};
int stones_min = CandidateCode.ThirstyCrowProblem(arr, 2, 1);
System.out.println("The result is" + stones_min);
}
}
光标在等待和等待,但我认为代码中没有错误!??
答案 0 :(得分:1)
选项A : 将你的同时改为if语句:
if(i<input3) {
minstones= minstones + arrK[i]*(n-i);
}
选项B :或增加i(i ++),但我不知道你想要什么
while(i<input3) {
minstones = minstones + arrK[i]*(n-i);
i++;
}
答案 1 :(得分:0)
你需要在while循环中增加i
。因为你没有递增,所以它会进入无限循环。
while(i<input3)
{
minstones= minstones + arrK[i]*(n-i);
i++;
}
进行此更改后,我得到了
The result is10
答案 2 :(得分:-1)
谢谢你们! &#34;我++&#34;是缺少的。