在 C++ 中不使用關係運算符查詢陣列中的最小值
在此問題中,我們給定一個由 n 個正元素組成的陣列 arr[]。我們的任務是在不使用關係運算符的情況下在陣列中找到最小值。
程式設計中的關係運算符是用於檢查兩個值之間的關係的運算子。比如 ==(等於)、大於(>)、小於(<)等。
讓我們舉一個例子來理解這個問題,
輸入
arr[] = {4, 2, 5, 1, 7}輸出
1
說明
The smallest element is 1.
解決方案方法
解決此問題的簡單方法是使用迴圈,並檢查陣列所有元素中最小元素。為了查詢兩個給定元素之間的最小元素,我們可以比較當我們兩個都減去 1 時哪個元素首先變成 0。
程式說明我們解決方案的工作原理,
示例
#include <iostream>
using namespace std;
int findMin(int a, int b) {
int minVal = 0;
while (a && b) {
minVal++;
a--;
b--;
}
return minVal;
}
int findMinimumElement(int arr[], int n) {
int minVal = arr[0];
int i = (n - 1) ;
while(i){
minVal = findMin(minVal, arr[i]);
i--;
}
return minVal;
}
int main() {
int arr[] = {4, 2, 5, 1, 7};
int n = sizeof(arr) / sizeof(arr[0]);
cout<<"The minimum element is "<<findMinimumElement(arr, n);
return 0;
}輸出
The minimum element is 1
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP