hashtable
hashmap.put(key,value);
hashmap.get(key) is value;
hashmap.containsKey(key);
hashset.add(value);
hashset.contains(value);
http://blog.csdn.net/sbitswc/article/details/48997977
word pattern
public boolean wordPattern(String pattern, String str) {
String[] strs = str.split(" ");
if(pattern.length() != strs.length) return false;
Map<Character, String> map = new HashMap<Character, String>();
for(int i=0;i<pattern.length();i++) {
if(!map.containsKey(pattern.charAt(i))) {
if(map.containsValue(strs[i])) return false;
map.put(pattern.charAt(i), strs[i]);
}else {
if(strs[i].equals(map.get(pattern.charAt(i)))) continue;
else return false;
}
}
return true;
}
http://blog.csdn.net/linhuanmars/article/details/20748171
validate sudoku
public boolean isValidSudoku(char[][] board) {
if(board==null || board.length!=9 || board[0].length!=9)
return false;
for(int i=0;i<9;i++)
{
boolean[] map = new boolean[9];
for(int j=0;j<9;j++)
{
if(board[i][j] != '.')
{
if(map[(int)(board[i][j]-'1')])
{
return false;
}
map[(int)(board[i][j]-'1')] = true;
}
}
}
for(int j=0;j<9;j++)
{
boolean[] map = new boolean[9];
for(int i=0;i<9;i++)
{
if(board[i][j] != '.')
{
if(map[(int)(board[i][j]-'1')])
{
return false;
}
map[(int)(board[i][j]-'1')] = true;
}
}
}
for(int block=0;block<9;block++)
{
boolean[] map = new boolean[9];
for(int i=block/3*3;i<block/3*3+3;i++)
{
for(int j=block%3*3;j<block%3*3+3;j++)
{
if(board[i][j] != '.')
{
if(map[(int)(board[i][j]-'1')])
{
return false;
}
map[(int)(board[i][j]-'1')] = true;
}
}
}
}
return true;
}
hashmap.get(key) is value;
hashmap.containsKey(key);
hashset.add(value);
hashset.contains(value);
http://blog.csdn.net/sbitswc/article/details/48997977
word pattern
public boolean wordPattern(String pattern, String str) {
String[] strs = str.split(" ");
if(pattern.length() != strs.length) return false;
Map<Character, String> map = new HashMap<Character, String>();
for(int i=0;i<pattern.length();i++) {
if(!map.containsKey(pattern.charAt(i))) {
if(map.containsValue(strs[i])) return false;
map.put(pattern.charAt(i), strs[i]);
}else {
if(strs[i].equals(map.get(pattern.charAt(i)))) continue;
else return false;
}
}
return true;
}
http://blog.csdn.net/linhuanmars/article/details/20748171
validate sudoku
public boolean isValidSudoku(char[][] board) {
if(board==null || board.length!=9 || board[0].length!=9)
return false;
for(int i=0;i<9;i++)
{
boolean[] map = new boolean[9];
for(int j=0;j<9;j++)
{
if(board[i][j] != '.')
{
if(map[(int)(board[i][j]-'1')])
{
return false;
}
map[(int)(board[i][j]-'1')] = true;
}
}
}
for(int j=0;j<9;j++)
{
boolean[] map = new boolean[9];
for(int i=0;i<9;i++)
{
if(board[i][j] != '.')
{
if(map[(int)(board[i][j]-'1')])
{
return false;
}
map[(int)(board[i][j]-'1')] = true;
}
}
}
for(int block=0;block<9;block++)
{
boolean[] map = new boolean[9];
for(int i=block/3*3;i<block/3*3+3;i++)
{
for(int j=block%3*3;j<block%3*3+3;j++)
{
if(board[i][j] != '.')
{
if(map[(int)(board[i][j]-'1')])
{
return false;
}
map[(int)(board[i][j]-'1')] = true;
}
}
}
}
return true;
}