Skip to content

Commit c2c548c

Browse files
authored
Add solution 36 in Javascript (fishercoder1534#132)
1 parent f85141c commit c2c548c

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -999,7 +999,7 @@ _If you like this project, please leave me a star._ ★
999999
|39|[Combination Sum](https://leetcode.com/problems/combination-sum/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_39.java)||Medium|Backtracking
10001000
|38|[Count and Say](https://leetcode.com/problems/count-and-say/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_38.java)||Easy| Recursion, LinkedList
10011001
|37|[Sudoku Solver](https://leetcode.com/problems/sudoku-solver/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_37.java)||Hard|
1002-
|36|[Valid Sudoku](https://leetcode.com/problems/valid-sudoku/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_36.java)||Medium|
1002+
|36|[Valid Sudoku](https://leetcode.com/problems/valid-sudoku/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_36.java), [Javascript](./src/javascript/_36.js)||Medium|
10031003
|35|[Search Insert Position](https://leetcode.com/problems/search-insert-position/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_35.java)||Easy|Array
10041004
|34|[Search for a Range](https://leetcode.com/problems/search-for-a-range/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_34.java)||Medium|Array, Binary Search
10051005
|33|[Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_33.java)||Medium|Binary Search

javascript/_36.js

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Author: Phuong Lam
2+
3+
/**
4+
* @param {character[][]} board
5+
* @return {boolean}
6+
*/
7+
var isValidSudoku = function (board) {
8+
var valid = [[], [], []]
9+
for (var i = 0; i < 9; i++) {
10+
valid[0][i] = []
11+
for (var j = 0; j < 9; j++) {
12+
if (board[i][j] !== '.') {
13+
const val = board[i][j]
14+
const pos = Math.floor(i / 3) * 3 + Math.floor(j / 3)
15+
16+
if (!valid[1][j]) valid['1'][j] = []
17+
if (!valid[2][pos]) valid['2'][pos] = []
18+
19+
if (valid[0][i][val]) return false
20+
if (valid[1][j][val]) return false
21+
if (valid[2][pos][val]) return false
22+
23+
valid[0][i][val] = 1
24+
valid[1][j][val] = 1
25+
valid[2][pos][val] = 1
26+
}
27+
}
28+
}
29+
return true
30+
}

0 commit comments

Comments
 (0)