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