leetcode+平时说的标记数组就是hashtable
2018-01-23 00:42
134 查看
点击打开链接
#include<iostream> #include<stdio.h> #include<stdlib.h> #include<string> #include<cstring> #include<string.h> #include<math.h> #include<algorithm> #include<queue> #include<vector> #include<set> #include<map> #include<limits.h> #include<assert.h> #define LL long long #define inf 0x3f3f3f3f #define mod 1e9+7 using namespace std; class Solution { public: bool isValidSudoku(vector<vector<char>>& board) { map<char,int>sudokuMap; //每行 for(int i=0;i<9;i++){ sudokuMap.clear(); for(int j=0;j<9;j++){ sudokuMap[board[i][j]]++; if((board[i][j]!='.')&&(sudokuMap[board[i][j]]>1)) return false; } //每列 for(int i=0;i<9;i++){ sudokuMap.clear(); for(int j=0;j<9;j++){ sudokuMap[board[j][i]]++; if((board[j][i]!='.')&&(sudokuMap[board[j][i]]>1)) return false; } } //每个9*9方块 for(int i=0;i<9;i+=3){ for(int j=0;j<9;j+=3){ sudokuMap.clear(); for(int k=i;k<i+3;k++){ for(int m=j;m<j+3;m++){ sudokuMap[board[k][m]]++; if((board[k][m]!='.')&&(sudokuMap[board[k][m]]>1)) return false; } } } } } return true; } }; int main() { Solution temple; return 0; }
相关文章推荐
- leetcode+蛇形数组,就是vector<vector<int>> 的使用
- leetcode+两个一维数组标记就好
- CodeForces 844A Diversity (超级超级水唯一需要想得就是开个标记数组吧)
- 语法基础: 使用不同的数据类型标记数组
- 3.有一个整形数组,只有一个数字出现了一次,请编写程序判断这个数字(大概题目就是这样的,记不太清了)
- 在DFS和BFS中一般情况可以不用vis[][]数组标记
- 【C#】数组与集合(LIst、ArrayList、HashTable、Dictionary)
- c#中Dictionary、ArrayList、Hashtable和数组 Array 的区别是什么?
- 数组中hashCode就是内存地址,以及汉字幻化为16进制或10进制
- PAT L1-030. 一帮一 数组标记下标啊啊啊啊啊啊
- 上机操作的感觉就是爽啊!!这个数组题一上机就明白拉
- 简单hash就是数组加链表
- HashTable的数组和连接两种实现方法(Java版本号)
- 区间操作(线段树、树状数组、懒人标记、RMQ算法)
- 如何将数组对象合并,也就是给原来的数据添加值
- HashTable 和 数组区别
- JAVA中 我要将字符串以空格为标记分割成多个字符串,并将分割后的字符串设为一个字符串数组
- c#中List、Dictionary、ArrayList、Hashtable和数组的区别是什么?
- 如果你说最近在看《诛仙》,平时喜欢玩LOL,你就是在把自己往悬崖上推
- 数组中找最大元素,并标记所在位置。(要体会标记)