leetcode 日经贴,Cpp code -Valid Sudoku

来源:互联网 发布:nginx 集群配置 编辑:程序博客网 时间:2024/06/08 06:41

Valid Sudoku

class Solution {public:    bool validcell(vector<int> &vi) {        sort(vi.begin(), vi.end());        for (int i = 1; i < vi.size(); ++i) {            if (vi[i] == vi[i - 1]) {                return false;            }        }        return true;    }        bool isValidSudoku(vector<vector<char>>& board) {        vector<int> vi;        bool valid = true;        for (int i = 0; i < 9 && valid; ++i) {            //row            vi.clear();            for (int j = 0; j < 9; ++j) {                if (board[i][j] != '.') {                    vi.push_back(board[i][j] - '0');                }            }            valid = valid && validcell(vi);            //column            vi.clear();            for (int j = 0; j < 9; ++j) {                if (board[j][i] != '.') {                    vi.push_back(board[j][i] - '0');                }            }            valid = valid && validcell(vi);            //square            vi.clear();            int r = i / 3 * 3, c = i % 3 * 3;            for (int j = 0; j < 9; ++j) {                int nr = r + j / 3;                int nc = c + j % 3;                if (board[nr][nc] != '.') {                    vi.push_back(board[nr][nc] - '0');                }            }            valid = valid && validcell(vi);        }        return valid;    }};


0 0