Bạn được cung cấp một số và các chỉ mục giới hạn dưới và trên của mảng con. Bạn cần đếm một số phần tử nhỏ hơn hoặc bằng số đã cho. Hãy xem một ví dụ.
Đầu vào
arr = [1, 2, 3, 4, 5, 6, 7, 8] k = 4 lower = 0 upper = 5
Đầu ra
4
Có 4 phần tử giữa chỉ số 0 và 5 nhỏ hơn hoặc bằng 4.
Thuật toán
-
Khởi tạo chỉ mục mảng, số và mảng con.
-
Khởi tạo số đếm thành 0.
-
Viết một vòng lặp lặp từ chỉ mục dưới của mảng con đến chỉ mục trên của mảng con.
-
Nếu phần tử hiện tại nhỏ hơn hoặc bằng số đã cho, thì hãy tăng số lượng.
-
-
Trả lại số đếm.
Thực hiện
Sau đây là cách thực hiện thuật toán trên trong C ++
#include <bits/stdc++.h> using namespace std; int getElementsCount(int arr[], int n, int lower, int upper, int k) { if (lower < 0 || upper >= n || lower > upper) { return 0; } int count = 0; for (int i = lower; i <= upper; i++) { if (arr[i] <= k) { count += 1; } } return count; } int main() { int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; int n = 8, k = 4; cout << getElementsCount(arr, n, 0, 3, k) << endl; cout << getElementsCount(arr, n, 4, 7, k) << endl; return 0; }
Đầu ra
Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.
4 0