加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

经典面试题解答

发布时间:2020-05-24 22:47:13 所属栏目:Java 来源:互联网
导读:经典面试题解答

下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。

脚本之家小编现在分享给大家,也给大家做个参考。

用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。
package test1;

import java.util.ArrayList;
import java.util.List;

public class TestList2 {
	//用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。
	public static void main(String[] args) {
		List<String> l = new ArrayList<String>();
		l.add("1");l.add("2");l.add("2");l.add("3");l.add("4");l.add("5");
		List<String> l1 = new ArrayList<String>();
		List<String> l2 = new ArrayList<String>();
		List<String> l3 = new ArrayList<String>();
		List<String> l4 = new ArrayList<String>();
		List<String> l5 = new ArrayList<String>();
		List<String> rel = new ArrayList<String>();
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < l.size(); i++) {
			sb.append(l.get(i));
			String n1 = l.remove(i);
			l1 = l;
			for (int j = 0; j < l1.size(); j++) {
				sb.append(l1.get(j));
				String n2 = l1.remove(j);
				l2 = l1;
				for (int j2 = 0; j2 < l2.size(); j2++) {
					sb.append(l2.get(j2));
					String n3 = l2.remove(j2);
					l3 = l2;
					for (int k = 0; k < l3.size(); k++) {
						sb.append(l3.get(k));
						String n4 = l3.remove(k);
						l4 = l3;
						for (int k2 = 0; k2 < l4.size(); k2++) {
							sb.append(l4.get(k2));
							String n5 = l4.remove(k2);
							l5 = l4;
							for (int m = 0; m < l5.size(); m++) {
								sb.append(l.get(m));
								String n6 = l5.remove(m);
								System.out.println(sb.toString());
								if (!rel.contains(sb.toString()) && sb.toString().indexOf("4")!=2 && !sb.toString().contains("35") && !sb.toString().contains("53")) {
									rel.add(sb.toString());
								}
								sb.delete(sb.length()-1,sb.length());
								l5.add(m,n6);
							}
							sb.delete(sb.length()-1,sb.length());
							l4.add(k2,n5);
						}
						sb.delete(sb.length()-1,sb.length());
						l3.add(k,n4);
					}
					sb.delete(sb.length()-1,sb.length());
					l2.add(j2,n3);
				}
				sb.delete(sb.length()-1,sb.length());
				l1.add(j,n2);
			}
			sb.delete(sb.length()-1,sb.length());
			l.add(i,n1);
		}
		System.out.println(rel.size());
		System.out.println(rel.toString());
	}
	

}

以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读