问题:给一个整数数组, 找到其中包含最多连续数的子集,比如给:15, 7, 12, 6, 14, 13, 9, 11,则返回: 5:[11, 12, 13, 14, 15]。
import java.util.HashMap;
/**
* 给一个整数数组, 找到其中包含最多连续数的子集, 比如给:15, 7, 12, 6, 14, 13, 9, 11, 则返回: 5:[11, 12,
* 13,14, 15]
*
*/
public class Main {
int[] array; // 存储数字
int[] boss; // array中每个位置上的数字的Boss的位置,同一Boss的各个数字,表明他们在同一个连续数的子集中
int[] heeler; // array中每个位置上的数字拥有的手下的数量
HashMap<Integer, Integer> map; // key为array中各个位置上对应的数字,value为该数字在数组中的位置
public Main(int[] array) {
this.array = array;
boss = new int[array.length];
// 初始化各个位置上的数字的Boss为自己
for (int i = 0; i < array.length; i++) {
boss[i] = i;
}
heeler = new int[array.length];
// 初始化每个节点上的数字的手下只有一个,即自己
for (int i = 0; i < array.length; i++) {
heeler[i] = 1;
}
// 利用