有没有办法从列表<列表<Integer>>对象生成输出?



我有以下代码,希望生成输出。在这一点上,生成"obj"one_answers"obj2"的函数输出将非常有帮助。

主文件:

public class Main
{
public static void main(String[] args)
{
int[] nums = {1,2,3};
Solution obj = new Solution();
obj.permute(nums);
}
}

解决方案文件:

import java.util.*;
class Solution {
public List<List<Integer>> permute(int[] nums)
{
List<Integer> obj;
obj = new ArrayList<Integer>();
List<List<Integer>> obj2 = new ArrayList<List<Integer>>();

for(int i = 0 ; i < nums.length;i++)
{
obj.add(nums[i]);

}
return obj2.add(obj);
}
}

输出:

java: incompatible types: boolean cannot be converted to java.util.List<java.util.List<java.lang.Integer>>

预期输出:

[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]

add方法返回一个布尔值,如文档所示:https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#add(E(

因此,当您试图返回obj2.add(obj(时,实际上是在返回True,因为add方法返回的是True。你应该做的是:

obj2.add(obj);
return obj2;

这不会提供您想要的功能,因为您所做的只是将输入数组复制到一个列表中,然后将其放入另一个列表。如果你想返回所有排列,你必须做更多的工作。

相关内容

最新更新