diff --git a/Week_02/id_39/LeetCode_1_39.js b/Week_02/id_39/LeetCode_1_39.js new file mode 100644 index 00000000..c9a18b04 --- /dev/null +++ b/Week_02/id_39/LeetCode_1_39.js @@ -0,0 +1,17 @@ +/** + * @param {number[]} nums + * @param {number} target + * @return {number[]} + * https://leetcode.com/problems/two-sum/ + */ +var twoSum = function(nums, target) { + let hashTable = []; + for (let i = 0; i < nums.length; i++) { + let other = target - nums[i]; + if (hashTable[other] >= 0) { + return [hashTable[other], i]; + }; + hashTable[nums[i]] = i; + } + return null; +}; \ No newline at end of file diff --git a/Week_02/id_39/LeetCode_242_39.js b/Week_02/id_39/LeetCode_242_39.js new file mode 100644 index 00000000..559310ef --- /dev/null +++ b/Week_02/id_39/LeetCode_242_39.js @@ -0,0 +1,30 @@ +/** + * @param {string} s + * @param {string} t + * @return {boolean} + * https://leetcode.com/problems/valid-anagram/ + */ +var isAnagram = function(s, t) { + if (s.length !== t.length) { + return false; + } + let sArr = s.split(''); + let tArr = t.split(''); + let map = {}; + + for (let i = 0; i < sArr.length; i++) { + if (!map[sArr[i]]) { + map[sArr[i]] = 1; + } else { + map[sArr[i]]++; + } + } + + for (let i = 0; i < tArr.length; i++) { + if (!map[tArr[i]] || map[tArr[i]] <= 0) { + return false; + } + map[tArr[i]]--; + } + return true; +}; \ No newline at end of file diff --git a/Week_02/id_39/LeetCode_3_39.js b/Week_02/id_39/LeetCode_3_39.js new file mode 100644 index 00000000..b662e914 --- /dev/null +++ b/Week_02/id_39/LeetCode_3_39.js @@ -0,0 +1,20 @@ +/** + * @param {string} s + * @return {number} + * https://leetcode.com/problems/longest-substring-without-repeating-characters/ + */ +var lengthOfLongestSubstring = function(s) { + let sArr = s.split(''); + let max = 0; + let map = {}; + let left = 0; + for (let i = 0; i < sArr.length; i++) { + if (map[sArr[i]] != null) { + left = Math.max(left, map[sArr[i]] + 1); + } + map[sArr[i]] = i; + max = Math.max(max, i - left + 1); + } + + return max; +}; \ No newline at end of file