美文网首页
7 ARTS打卡第七周(2019-09-16)

7 ARTS打卡第七周(2019-09-16)

作者: 无敌的潘大帅 | 来源:发表于2019-10-04 19:49 被阅读0次

    Algorithm

    本周算法:36.有效的数独
    题解思路:首先这道题目我没有自行解决,第一次遇到中等难度的题目,就被围困半小时告终。于是我查阅了官方题解,它使用了27个HashMap作为存储集合,每行,每列,每个框各有一个HashMap,对于我来说比较有难度的地方为,它使用了一个转换公式将每个框的索引确定,该转换公式为:

     int boxIndex = (i / 3) * 3 + j / 3;
    

    随后开始遍历整个二维char数组,使用Hash表的特性进行判断。

    题解代码:

    class Solution {
        public boolean isValidSudoku(char[][] board) {
            // init data
            HashMap<Integer, Integer> [] rows = new HashMap[9];
            HashMap<Integer, Integer>[] columns = new HashMap[9];
            HashMap<Integer, Integer> [] boxes = new HashMap[9];
            for (int i = 0; i < 9; i++) {
                rows[i] = new HashMap<Integer, Integer>();
                columns[i] = new HashMap<Integer, Integer>();
                boxes[i] = new HashMap<Integer, Integer>();
            }
    
            for (int i = 0; i < 9; i++) {
                for (int j = 0; j < 9; j++) {
                    int num = (int)board[i][j];
                    if (num != '.') {
                        int boxIndex = (i / 3) * 3 + j / 3;
                        rows[i].put(num, rows[i].getOrDefault(num, 0) + 1);
                        columns[j].put(num, columns[j].getOrDefault(num, 0) + 1);
                        boxes[boxIndex].put(num, boxes[boxIndex].getOrDefault(num, 0) + 1);
    
                        if (rows[i].get(num) > 1 || columns[j].get(num) > 1 || boxes[boxIndex].get(num) > 1) {
                            return false;
                        }
                    }
                }
            }
    
            return true;
        }
    }
    

    Review

    The Decorator Pattern — A simple guide
    这边文章主要是介绍装饰器模式的一些用法

    Tip

    这是我收集的Linux 命令行的用法
    1.find usage
    Use find from the command line to locate a specific file by name or extension. The following example searches for .err files in the /home/username/ directory and all sub-directories:
    find /home/username/ -name "
    .err"

    Share

    分享一篇我自己编写的
    elasticdump使用方法入门

    相关文章

      网友评论

          本文标题:7 ARTS打卡第七周(2019-09-16)

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