diff --git a/work/Easy/Array/1426.counting-elements.js b/work/Easy/Array/1426.counting-elements.js new file mode 100644 index 0000000..ff8259b --- /dev/null +++ b/work/Easy/Array/1426.counting-elements.js @@ -0,0 +1,51 @@ +/* + * 1426. Counting Elements + * Difficulty: Easy + * https://leetcode.com/problems/counting-elements/ + * + * ────────────────────────────────────────────────── + * + * Given an integer array arr, count how many elements x there are, such + * that x + 1 is also in arr. If there are duplicates in arr, count them + * separately. + * + * + * + * Example 1: + * + * Input: arr = [1,2,3] + * Output: 2 + * Explanation: 1 and 2 are counted cause 2 and 3 are in arr. + * + * Example 2: + * + * Input: arr = [1,1,3,3,5,5,7,7] + * Output: 0 + * Explanation: No numbers are counted, cause there is no 2, 4, 6, or 8 + * in arr. + * + * + * + * Constraints: + * + * • 1 <= arr.length <= 1000 + * + * • 0 <= arr[i] <= 1000 +*/ + +/** + * @param {number[]} arr + * @return {number} + */ +var countElements = function(arr) { + let arrSet = new Set(arr); + let count = 0; + + for (let n of arr) { + let sum = n + 1; + if (arrSet.has(sum)) { + count++; + } + } + return count; +}; diff --git a/work/Easy/Array/268.missing-number.js b/work/Easy/Array/268.missing-number.js new file mode 100644 index 0000000..ef657c2 --- /dev/null +++ b/work/Easy/Array/268.missing-number.js @@ -0,0 +1,90 @@ +/* + * 268. Missing Number + * Difficulty: Easy + * https://leetcode.com/problems/missing-number/ + * + * ────────────────────────────────────────────────── + * + * Given an array nums containing n distinct numbers in the range [0, + * n], return the only number in the range that is missing from the + * array. + * + * + * + * Example 1: + * + * Input: nums = [3,0,1] + * + * Output: 2 + * + * Explanation: + * + * n = 3 since there are 3 numbers, so all numbers are in the range + * [0,3]. 2 is the missing number in the range since it does not appear + * in nums. + * + * Example 2: + * + * Input: nums = [0,1] + * + * Output: 2 + * + * Explanation: + * + * n = 2 since there are 2 numbers, so all numbers are in the range + * [0,2]. 2 is the missing number in the range since it does not appear + * in nums. + * + * Example 3: + * + * Input: nums = [9,6,4,2,3,5,7,0,1] + * + * Output: 8 + * + * Explanation: + * + * n = 9 since there are 9 numbers, so all numbers are in the range + * [0,9]. 8 is the missing number in the range since it does not appear + * in nums. + * + * + * + * + * + * + * + * + * + * + * + * Constraints: + * + * • n == nums.length + * + * • 1 <= n <= 10^4 + * + * • 0 <= nums[i] <= n + * + * • All the numbers of nums are unique. + * + * + * + * Follow up: Could you implement a solution using only O(1) extra space + * complexity and O(n) runtime complexity? +*/ + +/** + * @param {number[]} nums + * @return {number} + */ +var missingNumber = function(nums) { + const numSet = new Set(nums); + const expectedCount = nums.length + 1; + + for (let i = 0; i < expectedCount; i++){ + if(!numSet.has(i)){ + return i; + } + } + return -1; +};