我有以下代码,希望生成输出。在这一点上,生成"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;
这不会提供您想要的功能,因为您所做的只是将输入数组复制到一个列表中,然后将其放入另一个列表。如果你想返回所有排列,你必须做更多的工作。