Computer >> Máy Tính >  >> Lập trình >> C ++

Đếm các phần tử nhỏ hơn hoặc bằng một giá trị nhất định trong một mảng xoay được sắp xếp trong C ++

Chúng tôi được cung cấp với một mảng các số nguyên. Mảng là một mảng xoay được sắp xếp. Mục đích là tìm số phần tử trong mảng bằng hoặc nhỏ hơn số K.

đã cho.

Phương pháp tiếp cận là duyệt qua toàn bộ mảng và đếm các phần tử nhỏ hơn hoặc bằng K.

Đầu vào

Arr[]= { 1,2,3,4,9,8,10 } K=4

Đầu ra

Elements less than or equal to 4 : 4

Giải thích - Các phần tử <=4 là 1,2,3,4 Count =4

Đầu vào

Arr[]= { 5,3,6,1,8,100,12,31 } K=3

Đầu ra

Elements less than or equal to 3: 2

Giải thích - Phần tử <=3 là 1,3 Count =2

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Mảng số nguyên Arr [] được sử dụng để lưu trữ các số nguyên, K để biểu thị một số.

  • Số nguyên ‘n’ lưu trữ độ dài của mảng.

  • Đếm biến được sử dụng để lưu trữ số lượng các số nhỏ hơn hoặc bằng K.

  • Duyệt qua mảng một lần bắt đầu từ phần tử đầu tiên (index =0).

  • Nếu phần tử hiện tại <=K số gia tăng.

  • Đếm chứa kết quả mong muốn.

  • Hiển thị kết quả.

Ví dụ

#include <iostream>
using namespace std;
int main(){
   int Arr[]= { 4,5,8,1,3,7,10,9,11 };
   int k=7;
   int n=sizeof(Arr)/sizeof(Arr[0]);
   int count=0;
   for(int i=0;i<n;i++)
      if(Arr[i]<=k)
         count++;
      std::cout<<"Elements less than or equal to "<<k<<" in given sorted rotated array : "<<count;
   return 0;
}

Đầu ra

Elements less than or equal to 7 in given sorted rotated array : 5