Cho một mảng, một số k và hai chỉ số lower, upper xác định mảng con. Nhiệm vụ là đếm số phần tử trong mảng con có giá trị nhỏ hơn hoặc bằng k.
Ví dụ
Đầu vào
arr = [1, 2, 3, 4, 5, 6, 7, 8] k = 4 lower = 0 upper = 5
Đầu ra
4
Trong đoạn từ chỉ số 0 đến 5 (các phần tử 1,2,3,4,5,6) có 4 phần tử ≤ 4.
Thuật toán
- Khởi tạo mảng, số
kvà chỉ số mảng con. - Khởi tạo biến đếm = 0.
- Duyệt từ
lowerđếnupper:- Nếu
arr[i] <= kthì tăng biến đếm.
- Nếu
- Trả về biến đếm.
Triển khai 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++;
}
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; // Output: 4
cout << getElementsCount(arr, n, 4, 7, k) << endl; // Output: 0
return 0;
}
Kết quả
4 0