昨天看到一個算法題目,他的示例給的是
3
1 10
1 3 5 7 9 11 13 15 17 19
0 5
1 5 7 11 18
1 0
。。。
這樣,第一個數字表示有3組數據。每兩行一組,上面一行的第二個數字表示下面一行的數字個數。
但是這個題目沒有像樂扣那樣,給出方法名和方法參數。我就不知道該怎么寫了。
第一行的傳參肯定是int a 。然后后面跟一個二維數組或是list集合類型
但是如果是數組的話,長度卻要隨着第一個int改變。這是不行的。
如果是集合list<> ,集合<>里面應該放string還是數組呢?Sting應該沒問題,用spit分割空格,就可以得到每一行的數字。數組也不是不可以
public int[] zj(int a ,List<Integer[]> ab) {
int ans[]=new int [3];
List<String> aList = new ArrayList<String>();
Integer m=new Integer(1);
Integer m2=new Integer(2);
Integer s[]= {m,m2};
ab.add(s);
這個樣子也可以,不報錯。但是很麻煩,需要一個一個new,很顯然不可能是這樣操作。
所以結論是碰到這樣的輸入樣例,就當作string類來處理。
public int[] zj(int a ,List<string> ab) {
return 。。。
}