Counting Elements - Leetcode

Given an integer array arr, count element x such that x + 1 is also in arr.
If there're duplicates in arr, count them seperately.

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 
Here the array to be converted as ArrayList or it can be done within the array itself. But if we done using only array then it consumes more time. Now consider for arraylist solution.

1)Retrieve each element from array using for each loop.
2)For each n element if there is n+1 then it is to be counted.

class Solution {
    public int countElements(int[] arr) {
        List<Integer>list = new ArrayList<Integer>();
        for(int tm:arr){
            list.add(tm);
        }
        int count = 0;
        Collections.sort(list);
        for(Integer tmp:list){
            if(list.contains(tmp+1)){
                count++;
            }
        }
        return count;
    }
}



Here is the link to try out this on Leetcode

Comments

Popular posts from this blog

Balanced Binary Tree

First Unique Character in a String

Majority Element

Smallest Range II