黑马程序员技术交流社区

标题: 求大神解决。 [打印本页]

作者: TS-松子    时间: 2016-6-6 00:18
标题: 求大神解决。
给一个数n,如:3打印出如下:123,132,213,231,312,321
作者: sunnyday    时间: 2016-6-6 00:21
大神,这个题真不会啊
作者: 何亚辉    时间: 2016-6-7 15:27
package com.heima.IO;

public class Day1_ClassTest2 {
        public static void main(String[] args) {
                print(8);

        }

        public static void print(int n) {
                int a = 0;
                int b = 0;
                for (int i = n, j = 1; i >= 1; i--, j *= 10) {
                        a += i * j;
                }
                for (int i = 1, j = 1; i <= n; i++, j *= 10) {
                        b += i * j;
                }

                for (int i = a; i <= b; i++) {
                        int[] arr = new int[n];
                        int t = 0;
                        for (int j = i; j > 0; j /= 10) {
                                arr[t++] = j % 10;
                        }
                        if (compare(arr)) {
                                System.out.println(i);
                        }
                }
        }

        public static boolean compare(int[] i) {
                int[] i1 = new int[i.length];
                for (int j = 1; j <= i.length; j++) {
                        i1[j - 1] = j;
                }

                int sum = 0;
                for (int j = 0; j < i.length; j++) {
                        for (int j2 = 0; j2 < i1.length; j2++) {
                                if (i1[j2] == i[j]) {
                                        sum++;
                                        i1[j2] = -1;
                                }
                        }
                }

                if (sum == i.length) {
                        return true;
                } else {
                        return false;
                }

        }

}

作者: TS-松子    时间: 2016-6-8 17:37
何亚辉 发表于 2016-6-7 15:27
package com.heima.IO;

public class Day1_ClassTest2 {

没写注释,挺难看懂的,,,但是结果给力,多谢。
作者: 醇逸    时间: 2016-6-8 19:16
我。。。看着好复杂
作者: 戎马生涯    时间: 2016-6-9 17:17
何亚辉 发表于 2016-6-7 15:27
package com.heima.IO;

public class Day1_ClassTest2 {

不错~~~很给力!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2