Given a binary array arr of 1’s and 0’s of length N. The task is to find the number of elements which are different with respect to their neighbors.
Note:At least one of the neighbors should be distinct.
Input : N = 4 , arr=[1, 0, 1, 1]
Output : 3
arr=1 is distinct since it’s neighbor arr=0 is different.
arr=0 is also distinct, as it has two different neighbors i.e, arr=1 & arr=1.
arr=1 has same neighbor in arr=1 but has different neighbor in arr=0. So it’s distinct.
But arr=1 is not distinct as it’s neighbor arr=1 is the same.
So total distinct elements are 1+1+1+0=3
Input : N = 2 , arr=[1, 1]
Output : 0
- Run a loop for all the elements of list and compare every element with its previous and next neighbors. Increment count by 1 if the element is distinct.
- The first element has to be compared only with its next neighbor and similarly the last element has to be compared only with its previous element.
- The remaining elements have two neighbors . If anyone of two neighbors is different then it is considered distinct.
Below is the implementation of the above approach:
Time Complexity: O(N)
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Distinct adjacent elements in an array
- Minimize the cost to make all the adjacent elements distinct in an Array
- Arrange N elements in circular fashion such that all elements are strictly less than sum of adjacent elements
- Sort elements of an array in increasing order of absolute difference of adjacent elements
- Count of array elements which is smaller than both its adjacent elements
- Length of array pair formed where one contains all distinct elements and other all same elements
- Split an array containing N elements into K sets of distinct elements
- Kth array element after M replacements of array elements by XOR of adjacent pairs
- Minimize array length by repeatedly replacing pairs of unequal adjacent array elements by their sum
- Form an array of distinct elements with each element as sum of an element from each array
- Count distinct elements after adding each element of First Array with Second Array
- Count all distinct pairs of repeating elements from the array for every array element
- Check if all the elements can be made of same parity by inverting adjacent elements
- Minimum elements to be removed such that sum of adjacent elements is always odd
- Minimum elements to be removed such that sum of adjacent elements is always even
- Minimum adjacent swaps required to Sort Binary array
- Remove all 1s from the adjacent left of 0s in a Binary Array
- Sum of distinct elements when elements are in range 1 to n
- Maximum distinct elements after removing k elements
- Search an element in an array where difference between adjacent elements is 1
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.