0 2 4 6 12 14 28 数组Arrays之add的秘密

0 2 4 6 12 14 28  30 60 62 124

可得: 加2乘2的规律

public static void main(String[] args) {
        int j = 0;
        int k = 10;
        int[] s = new int[1];
        s[0]=j;
        for (int i = 0; i < k; i++) {
            System.out.println(s.length);
            if (s.length % 2 != 0) {
                j += 2;
                s = Task.ints(s,j);
            } else {
                j *= 2;
                s = Task.ints(s,j);
            }
        }
        System.out.println(s.length);
        System.out.println(Arrays.toString(s));
    }

    public static int[] ints(int[] s,int j) {
        int[] r = new int[s.length + 1];
        System.arraycopy(s, 0, r, 0, s.length);
        r[r.length-1] = j;
        return r;
    }
1
2
3
4
5
6
7
8
9
10
11
[0, 2, 4, 6, 12, 14, 28, 30, 60, 62, 124]

旧例子

public static void main(String[] args) {
        int j = 0;
        int[] s = new int[0];
        for (int i = 0; i < 8; i++) {
            System.out.println(s.length);
            if ((s.length + 1) % 2 != 0) {
                j += 2;
                s = Task.ints(s);
                s[i] = j;
            } else {
                j *= 2;
                s = Task.ints(s);
                s[i] = j;
            }
        }
        System.out.println(Arrays.toString(s));
    }

    public static int[] ints(int[] s) {
        int[] r = new int[s.length + 1];
        System.arraycopy(s, 0, r, 0, s.length);
        return r;
    }
0
1
2
3
4
5
6
7
[2, 4, 6, 12, 14, 28, 30, 60]
发布了339 篇原创文章 · 获赞 58 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_43532342/article/details/100922974