你給出乙個整數陣列(size為n),其具有以下特點:
假定p是峰值的位置則滿足a[p] > a[p-1]
且a[p] > a[p+1]
,返回陣列中任意乙個峰值的位置。
給出陣列[1, 2, 1, 3, 4, 5, 7, 6]
返回1
, 即數值 2 所在位置, 或者6
, 即數值 7 所在位置.
time complexity o(logn)
普通遍歷方法會超時。所以這裡採用二分搜尋法,如果中間的數就是峰值直接返回,如果中間的數比前一位數小的話,peek點肯定在mid右邊,如果中間的數比後一位數大的話,peek點肯定在mid左邊
public class solution
return l;
}}
兩次過 Lintcode 56 兩數之和
給乙個整數陣列,找到兩個數使得他們的和等於乙個給定的數 target。你需要實現的函式twosum需要返回這兩個數的下標,並且第乙個下標小於第二個下標。注意這裡下標的範圍是 0 到 n 1。example1 給出 numbers 2,7,11,15 target 9,返回 0,1 example2 ...
兩次過 Lintcode 1209 構造矩形
對於乙個web開發者,如何設計頁面大小很重要。所以,給定乙個矩形大小,設計其長 l 寬 w 使其滿足如下要求 1.矩形區域大小需要和給定目標相等。2.寬度w不大於長度l,也即l w.3.長和寬的差異盡可能的小。返回設計好的長度l和寬度w。樣例 輸入 4 輸出 2,2 解釋 目標區域是4,所有可能的構...
兩次過 Lintcode 212 空格替換
設計一種方法,將乙個字串中的所有空格替換成 20。你可以假設該字串有足夠的空間來加入新的字元,且你得到的是 真實的 字元長度。你的程式還需要返回被替換後的字串的長度。對於字串 mr john smith 長度為13 替換空格之後,引數中的字串需要變為 mr 20john 20smith 並且把新長度...