昨天看到一个算法题目,他的示例给的是
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 。。。
}