拆分出一个数组中的连续数字
2013-01-01 17:21
253 查看
//拆分一个数组中连续的数字,可以参考字符串匹配算法 class Dispart { int cnt=0; //用于判断连续时用 int index= 0; int[]st; Dispart(int len){ st = new int[2*len]; } //分配所需要拆开的数组空间的2倍,防止空间不足 void Disp(int a[]) { int j=0,i; lab: for ( i=0;i< a.length; i+=cnt) { j = i; cnt = 0; while(true) { if (j==a.length) break lab; if (a[i]+cnt==a[j]) //如果相等 例如:a[i]=1 a[j]=1 那么j++ a[j]=2 cnt++ ,cnt=1 { // a[i]+cnt==a[j]继续,否则偏移cnt个 st[index] = a[j]; cnt++; j++; index++; } else{ st[index++] = -1; //-1用于分隔用 break; } } } i=0; while(st[i]!=0) { if (st[i]==-1) { System.out.println(); } else System.out.print(st[i]); i++; } } } class DispartDemo { public static void main(String []args) { // Array a = new Array[10]; int []a = {1,2,4,5,7,8,9}; Dispart d = new Dispart(a.length); d.Disp(a); } }
相关文章推荐
- C输入一个字符串,将其中连续的数字做为一个整数存放在一个整形数组中,统计其中数字的个数并输出这些整数。
- 2018搜狗校招编程--连续多行数字输入,并保存到一个数组中
- 通过两个数字构建一个连续的数组
- 通过两个数字构建一个连续的数组
- 输入一个字符串内有数字和非数字字符,将连续的数字作为一个整数,存到数组a中,统计整数的个数,并输出这些数
- 给定一个数组,当中有正负数,求当中的一段“子数组”(即任意长度,连续的数字), 使得这个“子数组”的和是所有“子数组”和中最大的
- 求 一个数组中 连续数字的最大和(C)
- 第五十五篇:删除一个数组中多个连续或不连续重复的数字,保留一个
- 编程题:在一个N*N的数组中寻找所有横,竖,左上到右下,右上到左下,四种方向的直线连续D个数字的和里面最大的值
- 输入一个字符串,内有数字和非数字字符,例如 A123x456 17960? 302tab5876 操作:将连续的数字作为一个整数,一次存放到一数组a中,例如123存放在a【0】中,456放在a【1】中
- 输入字符串,内有数字和非字符数组,例如A123x456将其中连续的数字作为一个整数,依次存放到一个数组中,如123放到a[0],456放到a[1],并输出a这些数
- 输入一个字符串,将其中的连续数字字符组成整数,并放入数组中,在主函数中打印这个数组及数组的个数。
- 把字符串里面连续的数字依次存放到一个数组中
- 求一个数字数组里的最大连续数字的个数
- 判断一个数组中的数字是否连续
- 习题 8.16 输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一数组a中。统计共有多少个整数,并输出这些数。
- js如何判断一组数字是否连续,得到一个临时数组[[3,4],[13,14,15],[17],[20],[22]];
- 通过两个数字构建一个连续的数组
- 一个有序数组数组,给出和为s的两个数字和连续正数数列
- 输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一数组a中。统计共有多少个整数,并输出这些数。