查詢山脈陣列的最大值

2021-10-06 11:51:42 字數 752 閱讀 1770

何為山脈陣列?如果陣列 a 是乙個山脈陣列的話,那它滿足如下條件:

首先,a.length >= 3

其次,在 0 < i < a.length - 1 條件下,存在 i 使得:

a[0] < a[1] < ... a[i-1] < a[i]

a[i] > a[i+1] > ... > a[a.length - 1]

方法1: 取中點mid和右邊半部分的中點mid1, 如果 mid位置的值大於mid1處的值,mid一定位於最大值的右邊;如果mid位置的值小於mid1處的值, mid一定位於最大值的左邊。

int findmaxindex(int  *arr, int size)

else if( arr[mid] > arr[mid1] )

else

}return arr[left];

}

方法2:三分:

int findmax(int *data, int size)

else if(data[mid1] < data[mid2])

} return data[left];

}

方法三:比較mid和  mid+1處的值,判斷是在最大值的左邊或者右邊

int findmax(int *data, int size)

else

}return data[left];

}

es6 陣列找最大值 475,有效的山脈陣列

問題描述 給定乙個整數陣列a,如果它是有效的山脈陣列就返回true,否則返回false。讓我們回顧一下,如果a滿足下述條件,那麼它是乙個山脈陣列 示例 1 輸入 2,1 輸出 false示例 2 輸入 3,5,5 輸出 false示例 3 輸入 0,3,2,1 輸出 true1,從兩邊找這題讓判斷乙...

085 陣列最大值

1 package com 01 2 3陣列最大值 4需求 5設計乙個方法用於獲取陣列中的元素最大值,呼叫方法並輸出結構 6思路 71.定義乙個陣列,用靜態初始化完成陣列元素初始化 82.定義乙個方法,用來獲取陣列中的最大值 93.呼叫獲取最大值方法,用變數接收返回結果 104.把結果輸出在控制台 ...

分割陣列的最大值

題目 力扣 解題思路 動態規劃和二分查詢 具體可看 關於二分法,cnt為什麼初始化為1?這裡cnt初始化為1,是因為迴圈中當cnt 1的時候,首先預示著已經填滿了乙個子組,其次還預示著下一組已經有乙個數字加入了 即total num 所以最後一組在迴圈中一定不會被記入cnt就跳出了for迴圈,所以要...