diff --git a/typescript/217-Contains-Duplicate.ts b/typescript/217-Contains-Duplicate.ts new file mode 100644 index 000000000..f569cdf6e --- /dev/null +++ b/typescript/217-Contains-Duplicate.ts @@ -0,0 +1,10 @@ +function containsDuplicate(nums: number[]): boolean { + const set = new Set(); + + for (let i = 0; i < nums.length; i++) { + if (set.has(nums[i])) return true; + else set.add(nums[i]); + } + + return false; +} diff --git a/typescript/242-Valid-Anagrams.ts b/typescript/242-Valid-Anagrams.ts new file mode 100644 index 000000000..4ec3da0ce --- /dev/null +++ b/typescript/242-Valid-Anagrams.ts @@ -0,0 +1,16 @@ +function isAnagram(s: string, t: string): boolean { + if (s.length !== t.length) return false; + + const store = new Array(26).fill(0); + + for (let i = 0; i < s.length; i++) { + store[s.charCodeAt(i) - 'a'.charCodeAt(0)]++; + store[t.charCodeAt(i) - 'a'.charCodeAt(0)]--; + } + + for (let i = 0; i < store.length; i++) { + if (store[i] !== 0) return false; + } + + return true; +}