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

Số phần tử lớn hơn bên phải trong mảng C++

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