對於乙個web開發者,如何設計頁面大小很重要。所以,給定乙個矩形大小,設計其長(l)寬(w),使其滿足如下要求:
1. 矩形區域大小需要和給定目標相等。
2. 寬度w不大於長度l,也即l >= w.
3. 長和寬的差異盡可能的小。
返回設計好的長度l
和寬度w
。
樣例:
輸入: 4
輸出: [2, 2]
解釋: 目標區域是4, 所有可能的構造方法是[1,4], [2,2], [4,1].
但根據要求2, [1,4]不合題; 根據要求3, [4,1]沒有[2,2]好。所以長度l是2,寬度w是2.
給定區域面積不會超過10000000
,而且是正整數。
頁面寬度和長度必須是正整數。
明顯知道最優解在sqrt(area)周圍,所以直接在它周圍查詢即可。
先令長l和寬w等於sqrt(area), 如果長x寬得到的面積不等於area,稍微調整l和w的大小:如果面積小了,將長+1;如果面積大了,將寬-1。直到最後l * w == area為止。
public class solution
res[0] = l;
res[1] = r;
return res;
}}
兩次過 Lintcode 56 兩數之和
給乙個整數陣列,找到兩個數使得他們的和等於乙個給定的數 target。你需要實現的函式twosum需要返回這兩個數的下標,並且第乙個下標小於第二個下標。注意這裡下標的範圍是 0 到 n 1。example1 給出 numbers 2,7,11,15 target 9,返回 0,1 example2 ...
兩次過 Lintcode 212 空格替換
設計一種方法,將乙個字串中的所有空格替換成 20。你可以假設該字串有足夠的空間來加入新的字元,且你得到的是 真實的 字元長度。你的程式還需要返回被替換後的字串的長度。對於字串 mr john smith 長度為13 替換空格之後,引數中的字串需要變為 mr 20john 20smith 並且把新長度...
兩次過 Lintcode 407 加一
給定乙個非負數,表示乙個數字陣列,在該數的基礎上 1,返回乙個新的陣列。該數字按照數字高低進行排列,最高位的數在列表的最前面。給定 1,2,3 表示 123,返回 1,2,4 給定 9,9,9 表示 999,返回 1,0,0,0 一開始想到將陣列元素轉化為數字再加一,最後轉換到陣列,實現太複雜,而且...