我正在解決這個question。哪一種在Java中輸入最有效的方法?
這是我的代碼:
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int[] t = new int[n];
int count = 0;
for (int i = 0; i < n; i++) {
t[i] = sc.nextInt();
if (t[i] % k == 0) {
count++;
}
}
System.out.println(count);
}
}
但是,當我提出它,得到它的超時。請儘可能地幫助我優化它。
例
輸入:
7 3
1
51
966369
7
9
999996
11
輸出:
4
他們說:
我們希望你能夠處理 至少2.5MB輸入數據爲每個運行時爲秒。
修改後的代碼
謝謝大家......我修改我的代碼和它的工作...這裏是....
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] input = br.readLine().split(" ");
int n = Integer.parseInt(input[0]);
int k = Integer.parseInt(input[1]);
int count = 0;
for (int i = 0; i < n; i++) {
if (Integer.parseInt(br.readLine()) % k == 0) {
count++;
}
}
System.out.println(count);
}
問候
shahensha
爲什麼使用`int [] t`如果你沒有在這裏使用這個數組做任何有用的事情?你可以用`int t`代替。 – limc 2011-02-10 17:51:17
這看起來像ACM-ICPC問題的輸入代碼,這是整個「程序」嗎?它從哪裏超時?在線評委?你能給我們一些樣本輸入嗎? – Argote 2011-02-10 17:53:42
是的,這是整個程序......並且他們在服務器上運行代碼......他們給了我們8秒鐘的這個特定程序......他們說「你應該能夠處理至少2.5MB在運行時每秒輸入數據。「 – shahensha 2011-02-10 17:58:24