当前位置:网站首页>[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)
边栏推荐
- Daily question 1984 Minimum difference in student scores
- 做 SQL 性能优化真是让人干瞪眼
- [rust notes] 16 input and output (Part 2)
- 可变电阻器概述——结构、工作和不同应用
- [rust notes] 13 iterator (Part 2)
- 对for(var i = 0;i < 5;i++) {setTimeout(() => console.log(i),1000)}的深入分析
- [rust notes] 14 set (Part 2)
- MIT-6874-Deep Learning in the Life Sciences Week 7
- [cloud native] record of feign custom configuration of microservices
- SPI 详解
猜你喜欢

数据可视化图表总结(二)

Open source storage is so popular, why do we insist on self-development?

Doing SQL performance optimization is really eye-catching

Data visualization chart summary (II)

Appium automation test foundation - Summary of appium test environment construction

QQ电脑版取消转义符输入表情

Data visualization chart summary (I)

LeetCode 0108. Convert an ordered array into a binary search tree - the median of the array is the root, and the left and right of the median are the left and right subtrees respectively

Introduction et expérience de wazuh open source host Security Solution

实时时钟 (RTC)
随机推荐
wordpress切换页面,域名变回了IP地址
JS quickly converts JSON data into URL parameters
【Rust 笔记】15-字符串与文本(上)
QQ computer version cancels escape character input expression
2022年贵州省职业院校技能大赛中职组网络安全赛项规程
数据可视化图表总结(二)
Network security skills competition in Secondary Vocational Schools -- a tutorial article on middleware penetration testing in Guangxi regional competition
一些工具的记录2022
Regulations for network security events of vocational group in 2022 Guizhou Vocational College skill competition
Wazuh开源主机安全解决方案的简介与使用体验
可变电阻器概述——结构、工作和不同应用
WordPress switches the page, and the domain name changes back to the IP address
1041 Be Unique
New title of module a of "PanYun Cup" secondary vocational network security skills competition
Introduction and experience of wazuh open source host security solution
Leetcode array operation
The difference between CPU core and logical processor
MIT-6874-Deep Learning in the Life Sciences Week 7
2022年貴州省職業院校技能大賽中職組網絡安全賽項規程
LeetCode 1200. Minimum absolute difference