当前位置:网站首页>[leetcode] day95 effective Sudoku & matrix zeroing
[leetcode] day95 effective Sudoku & matrix zeroing
2022-07-05 06:14:00 【Upside down, it's a circle】
subject 1
36. Effective Sudoku 【 secondary 】
Answer key
If you follow the rule 、 Column 、3*3 If the matrix tries one by one , Huge workload … So how can we reduce the complexity ? This is the key consideration of this problem
Sure Use a hash table to record each row 、 In every column and every little nine palace , The number of times each number appears . It only needs Traverse Sudoku once , Update the count in the hash table during traversal , And judge whether the conditions for effective Sudoku are met .
class Solution {
public boolean isValidSudoku(char[][] board) {
int rows[][]=new int[9][9];// That's ok
int columns[][]=new int[9][9];// Column
int three[][][]=new int[3][3][9];// Xiaojiugong grid
for(int i=0;i<9;i++){
for(int j=0;j<9;j++){
if(board[i][j]!='.'){
int index=board[i][j]-'0'-1;// Character to number
rows[i][index]++;
columns[index][j]++;
three[i/3][j/3][index]++;// Notice how to represent the hash table of the small Jiugong lattice
if(rows[i][index]>1||columns[index][j]>1||three[i/3][j/3][index]>1)
return false;
}
}
}
return true;
}
}
Time complexity : O ( 1 ) O(1) O(1), Sudoku size is fixed , So the complexity is O(1)
Spatial complexity : O ( 1 ) O(1) O(1), Due to the fixed size of Sudoku , Therefore, the hash table size is also fixed , The complexity is O(1)
subject 2
73. Matrix zeroing 【 secondary 】
Answer key
Use two arrays row[] and column[] Mark which row and which column have 0
class Solution {
public void setZeroes(int[][] matrix) {
int m=matrix.length,n=matrix[0].length;
boolean[] row=new boolean[m];
boolean[] column=new boolean[n];
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
// Element is 0, Mark lines
if(matrix[i][j]==0){
row[i]=true;
column[j]=true;
}
}
}
// According to the mark , Zero row and column
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if(row[i]==true||column[j]==true)
matrix[i][j]=0;
}
}
}
}
Time complexity : O ( m n ) O(mn) O(mn)
Spatial complexity : O ( m + n ) O(m+n) O(m+n)
边栏推荐
- Matrixdb V4.5.0 was launched with a new mars2 storage engine!
- 数据可视化图表总结(二)
- 2022 pole technology communication arm virtual hardware accelerates the development of Internet of things software
- 【Rust 笔记】16-输入与输出(下)
- LeetCode 0107. Sequence traversal of binary tree II - another method
- Leetcode recursion
- Sqlmap tutorial (1)
- QQ computer version cancels escape character input expression
- leetcode-6111:螺旋矩阵 IV
- Liunx starts redis
猜你喜欢
Navicat连接Oracle数据库报错ORA-28547或ORA-03135
中职网络安全技能竞赛——广西区赛中间件渗透测试教程文章
Sqlmap tutorial (1)
做 SQL 性能优化真是让人干瞪眼
MIT-6874-Deep Learning in the Life Sciences Week 7
Dynamic planning solution ideas and summary (30000 words)
Doing SQL performance optimization is really eye-catching
Leetcode-6110: number of incremental paths in the grid graph
MySQL advanced part 1: View
Leetcode array operation
随机推荐
SPI 详解
SQLMAP使用教程(一)
Leetcode heap correlation
可变电阻器概述——结构、工作和不同应用
TypeScript 基础讲解
wordpress切换页面,域名变回了IP地址
Appium automation test foundation - Summary of appium test environment construction
1996. number of weak characters in the game
MySQL advanced part 2: optimizing SQL steps
打印机脱机时一种容易被忽略的原因
Shutter web hardware keyboard monitoring
Daily question 1342 Number of operations to change the number to 0
One question per day 1020 Number of enclaves
做 SQL 性能优化真是让人干瞪眼
数据可视化图表总结(一)
Introduction to LVS [unfinished (semi-finished products)]
RGB LED infinite mirror controlled by Arduino
【Rust 笔记】13-迭代器(下)
redis发布订阅命令行实现
Sqlmap tutorial (II) practical skills I