Cho mảng và chỉ số phần tử mục tiêu. Đếm số phần tử bên phải lớn hơn phần tử mục tiêu.
Ví dụ: arr=[2,3,5,1,4,2,6], index=3 (giá trị 1) → 3 phần tử (4,2,6) lớn hơn 1 bên phải.
Giải thuật
- Nếu index >= n trả về -1
- count = 0
- Vòng lặp i = index+1 đến n-1: nếu arr[index] < arr[i] thì count++
- Trả về count
Ví dụ minh họa
#include <bits/stdc++.h>
using namespace std;
int getNextGreaterElementsCount(int arr[], int n, int index) {
if (index >= n) return -1;
int count = 0;
for (int i = index + 1; i < n; i++) {
if (arr[index] < arr[i]) count += 1;
}
return count;
}
int main() {
int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
int n = 8, index = 1;
cout << getNextGreaterElementsCount(arr, n, index) << endl;
return 0;
}
Đầu ra
6