• 数字分组小算法


      今天我女朋友问了我一个问题假设 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;
            }
    
        }

    请多多指点。

  • 相关阅读:
    spring+mybatis+druid+xml
    springboot run(),bean注册
    linux命令之cat
    linux命令之more
    linux中配置maven环境
    linux中配置Java环境
    linux命令之nohup
    在Eclipse中创建Maven多模块工程的例子
    MINA之心跳协议运用
    Java动态代理
  • 原文地址:https://www.cnblogs.com/youngKen/p/5036936.html
Copyright © 2020-2023  润新知