2020-11-13:手寫代碼:區域最小值問題。陣列無序,相鄰元素不等。如何求極小值?#福大大架構師每日一題#
uj5u.com熱心網友回復:
二分法實作int getLocalMinValue(int[] a,int begin,int end){
if(begin==end) return a[begin];
int mid=(begin+end)/2;
if(a[min]<a[mid+1]) {
minValueOfLeft=getLocalMinValue(a,begin,mid);
}
else if(a[min]>a[mid+1]) {
minValueOfLeft=getLocalMinValue(a,mid+1,end);
}
return min{minValueOfLeft,minValueOfRigth};
}
uj5u.com熱心網友回復:
感覺有點問題啊
uj5u.com熱心網友回復:
最小值就一個,宣告一個int變數minValue,初值賦值為MAX_INTEGER,遍歷陣列,拿每個元素和minValue比較,小于minValue的話,更新minValue為當前元素值,
遍歷完minValue就是最小值咯。
如果是極小值的話,就可能有多個,只要一個元素相鄰的兩個元素比他大,應該就是極小值了吧。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/214164.html
標籤:Java相關
上一篇:Idea 插件開發 問題
下一篇:關于java多執行緒的問題
