Count consecutive pairs of same elements
Given an array arr[], the task is to count the number of pairs formed by consecutive elements in which both of the elements in a pair are same.
Examples:
Input: arr[] = {1, 2, 2, 3, 4, 4, 5, 5, 5, 5}
Output: 5
(1, 2), (4, 5), (6, 7), (7, 8) and (8, 9) are the valid index pairs
where consecutive elements are equal.
Input: arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
Output: 0
No two consecutive elements in the given array are equal.
Approach: Initialize count = 0 and traverse the array from arr[0] to arr[n – 2]. If the current element is equal to the next element in the array then increment the count. Print the count in the end.
Below is the implementation of the above approach:
C++
// C++ implementation of the approach #include <iostream> using namespace std; // Function to return the count of consecutive // elements in the array which are equal int countCon( int ar[], int n) { int cnt = 0; for ( int i = 0; i < n - 1; i++) { // If consecutive elements are same if (ar[i] == ar[i + 1]) cnt++; } return cnt; } // Driver code int main() { int ar[] = { 1, 2, 2, 3, 4, 4, 5, 5, 5, 5 }; int n = sizeof (ar) / sizeof (ar[0]); cout << countCon(ar, n); return 0; } |
Java
// Java implementation of the approach public class GfG { // Function to return the count of consecutive // elements in the array which are equal static int countCon( int ar[], int n) { int cnt = 0 ; for ( int i = 0 ; i < n - 1 ; i++) { // If consecutive elements are same if (ar[i] == ar[i + 1 ]) cnt++; } return cnt; } // Driver Code public static void main(String []args){ int ar[] = { 1 , 2 , 2 , 3 , 4 , 4 , 5 , 5 , 5 , 5 }; int n = ar.length; System.out.println(countCon(ar, n)); } } // This code is contributed by Rituraj Jain |
Python3
# Python3 implementation of the approach # Function to return the count of consecutive # elements in the array which are equal def countCon(ar, n): cnt = 0 for i in range (n - 1 ): # If consecutive elements are same if (ar[i] = = ar[i + 1 ]): cnt + = 1 return cnt # Driver code ar = [ 1 , 2 , 2 , 3 , 4 , 4 , 5 , 5 , 5 , 5 ] n = len (ar) print (countCon(ar, n)) # This code is contributed by mohit kumar |
C#
// C# implementation of the approach using System; class GfG { // Function to return the count of consecutive // elements in the array which are equal static int countCon( int [] ar, int n) { int cnt = 0; for ( int i = 0; i < n - 1; i++) { // If consecutive elements are same if (ar[i] == ar[i + 1]) cnt++; } return cnt; } // Driver Code public static void Main() { int [] ar = { 1, 2, 2, 3, 4, 4, 5, 5, 5, 5 }; int n = ar.Length; Console.WriteLine(countCon(ar, n)); } } // This code is contributed by Code_Mech. |
PHP
<?php // PHP implementation of the approach // Function to return the count of consecutive // elements in the array which are equal function countCon( $ar , $n ) { $cnt = 0; for ( $i = 0; $i < $n - 1; $i ++) { // If consecutive elements are same if ( $ar [ $i ] == $ar [ $i + 1]) $cnt ++; } return $cnt ; } // Driver code $ar = array (1, 2, 2, 3, 4, 4, 5, 5, 5, 5); $n = sizeof( $ar ); echo countCon( $ar , $n ); // This code is contributed // by Akanksha Rai ?> |
Javascript
<script> // Javascript implementation of the approach // Function to return the count of consecutive // elements in the array which are equal function countCon(ar,n) { let cnt = 0; for (let i = 0; i < n - 1; i++) { // If consecutive elements are same if (ar[i] == ar[i + 1]) cnt++; } return cnt; } // Driver Code let ar = [1, 2, 2, 3, 4, 4, 5, 5, 5, 5 ]; let n = ar.length; document.write(countCon(ar, n)); // This code is contributed by unknown2108 </script> |
Output:
5
Time Complexity: O(n)
Auxiliary Space: O(1)
Please Login to comment...