Java面试题
1.关于1...n的全排列。比如:1,2,3的全排列为123,132,213,231,312,321
public class Test { public static void main(String[] args) throws Exception { String[] array = new String[] { "1", "2","3"}; int length=array.length; listAll(Arrays.asList(array), "",length); } public static void listAll(List candidate, String prefix,int length) { if(prefix.length()==length) System.out.println(prefix); for (int i = 0; i < candidate.size(); i++) { List temp = new LinkedList(candidate); listAll(temp, prefix + temp.remove(i),length); } } }
2.关于一个赋值顺序问题。
int a=0;
int[] b=new int[5];
int c=3;
b[a]=a=c;
b[3]的值为多少?
b[3]为0。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步