11
回答
想兼职的朋友来看看~
注册华为云得mate10,2.9折抢先购!>>>   

我们首先输入一堆数据,通过一些简单的算法,我们可以得出各个单元的编号,也就是图中的叶子,叶子的排列也是按照这三个数字中的两个来表示,就是第一个和最后一个。(当然,之后的叶子不可能只有几百个,有可能是几千个)

所用技术不限,具体情况详谈,北京地区的优先考虑。

联系方式:qq 717376929

举报
pinksalley
发帖于6年前 11回/1K+阅
共有11个评论 最后回答: 5年前
public class Leaf implements Comparable<Leaf> {
	private String name;

	public Leaf(String number) {
		this.name = number;
	}

	public int compareTo(Leaf leaf) {
		int firstComp = this.getName().substring(0, 1).compareTo(
				leaf.getName().substring(0, 1));
		if (firstComp == 0) {
			return this.getName().substring(2, 3).compareTo(
					leaf.getName().substring(2, 3));
		} else {
			return firstComp;
		}
	}

	public String getName() {
		return name;
	}
}

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

public class Tree {

	public static void main(String[] args) {
		Leaf lf1=new Leaf("123");
		Leaf lf2=new Leaf("122");
		Leaf lf11=new Leaf("623");
		Leaf lf13=new Leaf("621");
		Leaf lf14=new Leaf("653");
		Leaf lf12=new Leaf("659");
		Leaf lf3=new Leaf("223");
		Leaf lf4=new Leaf("223");
		Leaf lf5=new Leaf("323");
		Leaf lf9=new Leaf("523");
		Leaf lf10=new Leaf("524");
		Leaf lf6=new Leaf("323");
		Leaf lf7=new Leaf("125");
		Leaf lf8=new Leaf("128");
		List<Leaf> tree=new ArrayList<Leaf>() ;
		tree.add(lf1);
		tree.add(lf2);
		tree.add(lf3);
		tree.add(lf4);
		tree.add(lf5);
		tree.add(lf6);
		tree.add(lf7);
		tree.add(lf8);
		tree.add(lf9);
		tree.add(lf10);
		tree.add(lf11);
		tree.add(lf12);
		tree.add(lf13);
		tree.add(lf14);
		Collections.sort(tree);
		Iterator<Leaf> iter=tree.iterator();
		while(iter.hasNext()){
			String number=iter.next().getName();
			String unit=number.substring(0,1);
			System.out.println("第"+unit+"單元編號:"+number);
		}
	}

}


不知道想干嘛?我以前写过类似的代码。用于快速查询手机号码的归属地。有10W个手机号码前缀。给定人一个手机号码,查询其区号。就是把手机号码load到内存的十叉数。
顶部