mirror of
https://github.com/prdlk/leetcode.git
synced 2026-09-17 07:26:27 +00:00
feat(work/Easy/Array): add solutions for counting elements and missing number problems
This commit is contained in:
@@ -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;
|
||||||
|
};
|
||||||
@@ -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;
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user