We are given with an array of integers. The array is a sorted rotated array. The goal is to find the number of elements in the array that are equal to or less than the given number K.
Approach is to traverse the whole array and count such elements which are either less or equal to K.
Arr[]= { 1,2,3,4,9,8,10 } K=4
Elements less than or equal to 4 : 4
Explanation − Elements <=4 are 1,2,3,4 Count=4
Arr[]= { 5,3,6,1,8,100,12,31 } K=3
Elements less than or equal to 3: 2
Explanation − Elements <=3 are 1,3 Count=2
The integer array Arr[] is used to store the integers, K to denote a number.
Integer ‘n’ stores the length of the array.
Variable count is used to store the count of numbers less or equal to K.
Traverse the array once starting from the first element( index=0 ).
If current element <=K increment count.
Count contains the desired result.
Display the result.
#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