每日一練 區域性最小值位置

2021-07-11 14:03:21 字數 768 閱讀 4107

題目:

定義區域性最小的概念。arr長度為1時,arr[0]是區域性最小。arr的長度為n(n>1)時,如果arr[0]

思想:採用類似於二分查詢演算法,時間複雜度可以達到o(lgn)

(1)首先判斷第乙個元素和第二個元素的大小,如果第乙個元素小於第二個元素的話,那麼直接輸出第乙個元素的位置即可;

(2)如果(1)不成立的話,比較最後乙個元素和次最後乙個元素的大小,如果最後乙個元素小於次最後乙個元素的話,直接輸出最後乙個元素的位置即可;

(3)如果(1)和(2)均不成立的話,則找到當前的中間位置元素,首先比較中間位置元素和他前乙個元素的大小關係,如果中間位置元素大於前乙個位置元素,則可以刪除中間位置元素後面的元素,剩下的一半進行繼續進行(3)(4)(5)判斷;

(4)接下來比較中間位置元素和中間位置元素下乙個位置上的元素大小關係,如果中間元素大於下乙個位置上的元素的話,則可以刪除中間位置元素前面一半的元素,剩下的一半進行繼續進行(3)(4)(5)判斷;

(5)如果(3)(4)都滿足的話,直接輸出中間位置即可,因為他本身就是區域性最小值了;

**:

public class getlessindex ;

system.out.println(getlessindex(arr)); }

public static int getlessindex(int arr)

else if(arr[mid+1] < arr[mid])

else

}return left;

}}

二分搜尋 區域性最小值位置

案例一 區域性值最小值位置 雖然是個無序陣列,但是由於任意兩個相鄰元素的值不重複的性質決定了可以使用二分搜尋演算法。思路 1.陣列為空或長度為0,返回 1,表示區域性值不存在 2.陣列長度為1,返回位置0 3.陣列長度大於1時 考慮三種情況 考慮最左邊和最右邊的元素 如果arr 0 考慮最中間元素,...

每日一練4

員工表emp 員工編號eid,姓名ename,工作職位title,僱傭日期hiretime,工資salary,獎金bonus,部門depart 部門表dept 部門編號did,名稱dname,部門領導leader 員工資料 1001,張三 銷售 1999 12 1 3000.0,1100.0,102...

每日一練25

請描述 mysql 從安裝到配置的全部詳細過程 確保一台新電腦可以順利使用 mysql mysql安裝嚮導啟動,按 next 繼續 選擇安裝型別,有 typical 預設 complete 完全 custom 使用者自定義 三個選項,我們選擇 custom 有更多的選項,也方便熟悉安裝過程 選擇配置...