`
lianggl2008
  • 浏览: 25555 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

微软面试题:1、2、2、3、4、5,要求4不在第三位,3、5不能相连问题。

阅读更多
package com.strongit;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.regex.Pattern;

public class Test {

	private String[] data = { "1", "2", "2", "3", "4", "5" };

	private Collection<String> list = new HashSet<String>();

	public Test() {
		init();
		arrange();
		print();
	}

	public void init() {
		save(data);
		swap(data, 0, 1);
	}

	public void arrange() {
		int i;
		int j;
		for (i = 2; i < data.length; i++) {
			List<String[]> li = trans();
			for (String[] buff : li) {
				for (j = 0; j < i; j++) {
					String[] tmp = buff.clone();
					swap(tmp, j, i);
				}
			}
		}
	}

	public List<String[]> trans() {
		List<String[]> l = new ArrayList<String[]>();
		for (String str : list) {
			l.add(str.split(","));
		}
		return l;
	}

	public void swap(String[] tmp, int i, int j) {
		String t = tmp[i];
		tmp[i] = tmp[j];
		tmp[j] = t;
		save(tmp);
	}

	public void save(String[] tmp) {
		StringBuffer sb = new StringBuffer();
		for (String i : tmp) {
			sb.append(i + ",");
		}
		sb.deleteCharAt(sb.length() - 1);
		list.add(sb.toString());
	}

	public String[] sort(String[] tmp) {
		return null;
	}

	public int search(String[] tmp, String val) {
		int length = tmp.length;
		for (int i = 0; i < length; i++) {
			if (tmp[i].equals(val)) {
				return i;
			}
		}
		return -1;
	}

	public void print() {
		int total = 0;
		for (String str : list) {
			Pattern invalide1=Pattern.compile("^..4.*");
		    Pattern invalide2=Pattern.compile(".*(3,5|5,3).*");
		    boolean false1=invalide1.matcher(str).matches();
            boolean false2=invalide2.matcher(str).matches();
            if (!(false1 || false2)){
            	System.out.println(str);
				total++;
            }
		}
		System.out.println("Total Size: " + total);
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Test();
	}

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics