Similar Problems

Similar Problems not available

Counting Elements - Leetcode Solution

Companies:

LeetCode:  Counting Elements Leetcode Solution

Difficulty: Easy

Topics: hash-table array  

Problem:

Given an integer array arr, count how many elements x there are, such that x + 1 is also in arr.

If there're 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's no 2, 4, 6, or 8 in arr.

Example 3:

Input: arr = [1,3,2,3,5,0] Output: 3 Explanation: 0, 1 and 2 are counted cause 1, 2 and 3 are in arr.

Example 4:

Input: arr = [1,1,2,2] Output: 2 Explanation: Two 1s are counted cause 2 is in arr.

Constraints:

1 <= arr.length <= 1000 0 <= arr[i] <= 1000

Solution:

We can solve this problem using a hashset. We can add all the elements of the array to the hashset. Then we can iterate through the array and check if the current element + 1 is in the hashset. If it is, we increment our count by 1. We also remove the current element from the hashset to avoid counting duplicates. Finally, we return our count.

Here's the Python code:

class Solution: def countElements(self, arr: List[int]) -> int: count = 0 hashset = set(arr) for num in arr: if num + 1 in hashset: count += 1 hashset.remove(num) return count

Time Complexity:

The time complexity of this solution is O(n) because we are iterating through the array only once.

Space Complexity:

The space complexity of this solution is O(n) because we are using a hashset of size n to store the elements of the array.

Counting Elements Solution Code

1