From 178f0ba4f5660339bfcff16fc4ed578809ba5090 Mon Sep 17 00:00:00 2001 From: daybreakcold Date: Sun, 15 Dec 2019 23:18:13 +0800 Subject: [PATCH 1/2] Add files via upload --- Week 01/id_023/leetCode_026_023.js | 15 +++++++++++++++ Week 01/id_023/leetCode_066_023.js | 16 ++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 Week 01/id_023/leetCode_026_023.js create mode 100644 Week 01/id_023/leetCode_066_023.js diff --git a/Week 01/id_023/leetCode_026_023.js b/Week 01/id_023/leetCode_026_023.js new file mode 100644 index 000000000..53b9bbda9 --- /dev/null +++ b/Week 01/id_023/leetCode_026_023.js @@ -0,0 +1,15 @@ +/** + * @param {number[]} nums + * @return {number} + */ +var removeDuplicates = function (nums) { + var j = 0; + var n = nums.length; + for (let i = 1; i < n; i++) { + if (nums[i] != nums[i - 1]) { + j++; + nums[j] = nums[i]; + } + } + return j + 1; +}; \ No newline at end of file diff --git a/Week 01/id_023/leetCode_066_023.js b/Week 01/id_023/leetCode_066_023.js new file mode 100644 index 000000000..813bddec6 --- /dev/null +++ b/Week 01/id_023/leetCode_066_023.js @@ -0,0 +1,16 @@ +/** + * @param {number[]} digits + * @return {number[]} + */ +var plusOne = function (digits) { + const len = digits.length; + for (let i = len - 1; i >= 0; i--) { + digits[i]++; + digits[i] %= 10; + if (digits[i] != 0) + return digits; + } + digits = [...Array(len + 1)].map(_ => 0);; + digits[0] = 1; + return digits; +}; \ No newline at end of file From 6e8cdb911c7844fbb92a6c1bac6d65f607556a78 Mon Sep 17 00:00:00 2001 From: daybreakcold Date: Sun, 15 Dec 2019 23:33:23 +0800 Subject: [PATCH 2/2] Add files via upload --- Week 02/id_023/leetCode_051_023.js | 55 ++++++++++++++++++++++++++++++ Week 02/id_023/leetCode_242_023.js | 33 ++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 Week 02/id_023/leetCode_051_023.js create mode 100644 Week 02/id_023/leetCode_242_023.js diff --git a/Week 02/id_023/leetCode_051_023.js b/Week 02/id_023/leetCode_051_023.js new file mode 100644 index 000000000..d4f2496d0 --- /dev/null +++ b/Week 02/id_023/leetCode_051_023.js @@ -0,0 +1,55 @@ +/** + * @param {number} n + * @return {string[][]} + */ +var solveNQueens = function (n) { + let result = new Array(n); + let results = []; + let dfs = (row, column) => { + let leftColumn = column - 1; + let rightColumn = column + 1; + for (let i = row - 1; i >= 0; i--) { + if (result[i] == column) { + return false; + } + if (leftColumn >= 0 && result[i] == leftColumn) { + return false; + } + if (rightColumn < n && result[i] == rightColumn) { + return false; + } + leftColumn--; + rightColumn++; + } + return true; + } + let format = (result) => { + let tmpResult = []; + for (let i = 0; i < n; i++) { + let str = ''; + for (let j = 0; j < n; j++) { + if (result[i] == j) { + str += 'Q'; + } else { + str += '.'; + } + } + tmpResult.push(str); + } + return tmpResult; + } + let Nqueens = (row) => { + if (row == n) { + results.push(format(result)); + return; + } + for (let j = 0; j < n; j++) { + if (dfs(row, j)) { + result[row] = j; + Nqueens(row + 1) + } + } + } + Nqueens(0); + return results; +}; diff --git a/Week 02/id_023/leetCode_242_023.js b/Week 02/id_023/leetCode_242_023.js new file mode 100644 index 000000000..e7170374c --- /dev/null +++ b/Week 02/id_023/leetCode_242_023.js @@ -0,0 +1,33 @@ +/** + * @param {string} s + * @param {string} t + * @return {boolean} + */ +var isAnagram = function (s, t) { + const map = new Map() + for (let i = 0; i < s.length; i++) { + const getMap = map.get(s[i]) + if (!getMap) { + map.set(s[i], 1) + } else { + map.set(s[i], getMap + 1) + } + } + + for (let i = 0; i < t.length; i++) { + const getMap = map.get(t[i]) + if (getMap === 1) { + map.delete(t[i]) + } else if (getMap) { + map.set(t[i], getMap - 1) + } else { + map.set(t[i], 1) + } + } + + if (map.size) { + return false + } else { + return true + } +}; \ No newline at end of file