/**
* 计算minSubString
*
* @return
*/
private Pojo[] getMinSubString() {// 转变为,求最短路径问题(可能有多个最短路径)
Integer[] begin = (Integer[]) sub_stringMap.get(sub_string[0]);
Integer[] end = (Integer[]) sub_stringMap
.get(sub_string[sub_string.length - 1]);
Pojo[][] p = new Pojo[begin.length][end.length];
int min = 0;
// 得到跨度最小的value
for (int i = 0; i < begin.length; i++) {// 构造2个数比较Pojo
for (int k = 0; k < end.length; k++) {
p[i][k] = new Pojo(i, k, begin[i].intValue(), end[k].intValue());
if (i == 0 && k == 0)
min = p[i][k].getMinus();
if (p[i][k].getMinus() < min) {
min = p[i][k].getMinus();
}
}
}
// 找到min,其余全部置null
int num = 0;
for (int i = 0; i < begin.length; i++) {// 构造2个数比较Pojo
for (int k = 0; k < end.length; k++) {
if (p[i][k].getMinus() != min) {
p[i][k] = null;
} else {
num++;
}
}
}
// 转置
int id = 0;
Pojo_obj = new Pojo[num];
for (int i = 0; i < begin.length; i++) {// 构造2个数比较Pojo
for (int k = 0; k < end.length; k++) {
if (p[i][k] != null) {
Pojo_obj[id] = p[i][k];
Pojo_obj[id].makeObjString();// copySubString
id++;
}
}
}