日期:2014-05-20 浏览次数:20567 次
import java.util.Arrays;
public class SplitArraysCsdn
{
public static void main(String[] args)
{
int[] in={1,2,4,5,7,8,9};
int[][] out=subArray(in);
for(int[] b:out)//显示结果
{
System.out.println(Arrays.toString(b));
}
}
//输入数组必须由小到大排序。
//
public static int[][] subArray(int[] a)
{
int len = a.length;
int outer =0, inner =0;
int[][] abc = new int[len][];
int[] temp = new int[len];
int cate=0;
while(outer< len)
{
int i=0;
inner = outer;
temp[i++]= a[inner];
while(((inner+1)< len)&&(a[inner+1]- a[inner] ==1))//换了一下顺序
{
temp[i++] = a[inner+1];
inner++;
}
//abc[cate]= new int[i];
abc[cate]= Arrays.copyOf(temp,i); //去掉无用元素后放入二唯数组。
cate++;
outer = inner +1;
}
abc=Arrays.copyOf(abc,cate); //去掉多余的元素。
return abc;
}
}