Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Số chỉ số phần tử bằng nhau trong khoảng cho trước C++

Cho mảng và khoảng chỉ số [lower, upper]. Đếm số cặp phần tử liền kề bằng nhau trong khoảng.

Ví dụ: arr=[1,2,2,2,3,3,4], lower=1, upper=5 → 3 (cặp (2,2) tại 1-2, (2,2) tại 2-3, (3,3) tại 4-5).

Giải thuật

  • count = 0
  • Vòng lặp i=lower đến upper-1: nếu arr[i]==arr[i+1] thì count++
  • Trả về count

Ví dụ minh họa

#include <bits/stdc++.h> 
using namespace std; 

int getEqualElementsCount(int arr[], int n, int lower, int upper) { 
    int count = 0; 
    for (int i = lower; i < upper; i++) { 
        if (arr[i] == arr[i + 1]) count += 1; 
    } 
    return count; 
} 

int main() { 
    int arr[] = { 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5 }; 
    int n = 15; 
    cout << getEqualElementsCount(arr, 15, 1, 15) << endl; 
    return 0; 
} 

Đầu ra

10