使用 C++ 查詢已排序二進位制陣列中的 1
在本教程中,我們將討論一個程式,用於查詢已排序二進位制陣列中的 1。
為此,我們將提供一個僅包含 1 和 0 的陣列。我們的任務是計算陣列中出現的 1 的數量。
示例
#include <bits/stdc++.h>
using namespace std;
//returning the count of 1
int countOnes(bool arr[], int low, int high){
if (high >= low){
int mid = low + (high - low)/2;
if ( (mid == high || arr[mid+1] == 0) && (arr[mid] == 1))
return mid+1;
if (arr[mid] == 1)
return countOnes(arr, (mid + 1), high);
return countOnes(arr, low, (mid -1));
}
return 0;
}
int main(){
bool arr[] = {1, 1, 1, 1, 0, 0, 0};
int n = sizeof(arr)/sizeof(arr[0]);
cout << "Count of 1's in given array is " << countOnes(arr, 0, n-1);
return 0;
}輸出
Count of 1's in given array is 4
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP