Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 정렬된 회전 배열에서 주어진 값보다 작거나 같은 요소 계산

<시간/>

정수 배열이 제공됩니다. 배열은 정렬된 회전 배열입니다. 목표는 주어진 숫자 K보다 작거나 같은 배열의 요소 수를 찾는 것입니다.

접근 방식은 전체 배열을 순회하고 K보다 작거나 같은 요소를 계산하는 것입니다.

입력

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

출력

Elements less than or equal to 4 : 4

설명 − 요소 <=4는 1,2,3,4입니다. 개수=4

입력

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

출력

Elements less than or equal to 3: 2

설명 − 요소 <=3은 1,3 개수=2

입니다.

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.

  • 정수 배열 Arr[]은 정수를 저장하는 데 사용되며 K는 숫자를 나타내는 데 사용됩니다.

  • 정수 'n'은 배열의 길이를 저장합니다.

  • 변수 개수는 K보다 작거나 같은 숫자의 개수를 저장하는 데 사용됩니다.

  • 첫 번째 요소( index=0 )에서 시작하여 배열을 한 번 탐색합니다.

  • 현재 요소가 <=K 증가 카운트인 경우

  • 개수에 원하는 결과가 포함되어 있습니다.

  • 결과를 표시합니다.

예시

#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;
}

출력

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