今天我女朋友问了我一个问题假设 1 2 3 4 5 6 7 8 9 10 11 12 13这些数据,假设我有个数字3 那么返回1 2 3 4 5,假设我有个数字7 那么返回 6 7 8 9 10 ,假设我有个数字11 那么返回11 12 13。
简单的说就是把连续数字分组,感觉很好玩,就拿出来给大家分享一下,
public static void main(String[] args) { int a[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; for(int i = 0; i < a.length; i++) { group(a[i], a, 5); System.out.println(a[i]+"//"); } } public static void group(int num, int[] array, int step) { if(step <= 0 || array == null) return; int size = array.length - 1; int temp = -1; for(int i = -1; ; i = i + step) { if(i == -1) continue; if(i > size) { i = size; step = size - temp; } if(array[i] >= num) { for(int j = i; j >= 0 && j > i-step ; j--) { System.out.println(array[j]+""); } return; } temp = i; } }
请多多指点。