给聪明的你解解闷

作者: Blankj | 来源:发表于2016-11-21 22:03 被阅读767次
给聪明的你解解闷

虽是小学题目,但是完全可以作为一道模拟的算法题来解决,甚至可以作为面试题,自己动手写的时候考虑得还是比较多的,不信你们也可以试试,下面是笔者的实现代码,快把你们的代码也晒出来吧。

// 6087 5173 1358 3825 2531
int[][] num = new int[][]{
        {6, 0, 8, 7},
        {5, 1, 7, 3},
        {1, 3, 5, 8},
        {3, 8, 2, 5},
        {2, 5, 3, 1}
};
for (int i = 0; i < 10000; ++i) {
    // 取出个十百千位
    int g = i % 10;
    int s = (i / 10) % 10;
    int b = (i / 100) % 10;
    int q = (i / 1000) % 10;
    // 是否是最终答案标志位
    boolean isRight = true;
    // 筛选出只出现两次的,并且本次当前位置不对
    for (int j = 0; j < 5; j++) {
        int count = 0;
        for (int k = 0; k < 4; k++) {
            if ((g == num[j][k] && k != 3)
                    || (s == num[j][k] && k != 2)
                    || (b == num[j][k] && k != 1)
                    || (q == num[j][k] && k != 0)) {
                ++count;
            }
        }
        // 如果不是出现两次的直接跳出
        if (count != 2) {
            isRight = false;
            break;
        }
    }
    if (isRight) {
        // 下面要判断所有位置都要是错误的
        for (int j = 0; j < 5; j++) {
            if (g == num[j][3] || s == num[j][2] || b == num[j][1] || q == num[j][0]) {
                isRight = false;
                break;
            }
        }
    }
    if (isRight) {
        // 到此才算是正确答案:8712
        System.out.println(i);
    }
}

相关文章

  • 给聪明的你解解闷

    虽是小学题目,但是完全可以作为一道模拟的算法题来解决,甚至可以作为面试题,自己动手写的时候考虑得还是比较多的,不信...

  • 给心灵解解闷

    纪伯伦说:如果有一天,你不再寻找爱情,只是去爱;你不再渴望成功,只是去做;你不再追求空泛的成长,只是开始修养自己的...

  • 程序员饭后甜点 (1)

    0 .Thanks 题目来自于大神:给聪明的你解解闷 1 .这是一道世界级的难题 再次声明一下, 这个是4位数的密...

  • 大家好!。

    解解闷,图个乐。

  • 给大家讲几个故事,解解闷

    故事一:一老头和一老太太一起上公共汽车,就一个座位, 老太太坐下来,老头上前问老太太:你今年多大啦?老太太回答68...

  • 温度

    闷热的空间 烦躁的心情多了想念 想跟你说说闷 想跟你聊聊天 想在你微信空间发个笑脸 给工作繁忙的你解解闷 你在吗?...

  • 码码字,解解闷

    记得前段时间看到大学老班长发了这么一段说说,我不联系你不是因为你不重要,而是知道我对你已经不重要了。 也的确是让人...

  • 练点字 解解闷

  • 讲个故事解解闷

    头是晕的 眼是涩的 鼻是干的 嘴是苦的 胸是闷的 心是堵的 肚子是涨的 腿是软的 我是怎么了? 可能是吃多了撑的或...

  • 发张图片解解闷

    昨天、今天的文章接连被锁,发张图片解解闷,总可以吧?

网友评论

    本文标题:给聪明的你解解闷

    本文链接:https://www.haomeiwen.com/subject/zetppttx.html