在 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' 儲存陣列的長度。

  • 變數 count 用於儲存小於或等於 K 的數字的個數。

  • 從第一個元素(索引 = 0)開始遍歷陣列一次。

  • 如果當前元素 <= K,則 count 自增。

  • Count 包含所需結果。

  • 顯示結果。

示例

 線上演示

#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

更新於:2020-7-28

428 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.