最大矩形;及第n杯水分析
今日面試題:最大矩形
在一個點陣圖中找面積最大的白色矩形:給你一個NxN的黑白點陣圖,找一個面積最大的全白色的矩形。注意了,是一個矩形,不是任意一個白色相連的區域。你的演算法能夠達到的最好的時間複雜度是多少呢?
===================
第n杯水分析
原題
有一座金字塔,從上到下,第一層有一個杯子、第二層有兩個杯子,依次類推。對杯子進行編號,有如下的形狀:
1 | ||||
2 | 3 | |||
4 | 5 | 6 |
每個杯子的容量為C升,從塔頂倒下L升水,當1號杯子滿了之後,會等量溢位到2號和3號杯子。當2號和3號滿了,2號溢位到4號和5號,3號溢位到5號和6號,注意5號接受來自兩個杯子的水。依次類推。給定C和L,請問,第n杯裡有多少水。
分析
這個型別的題目,關鍵點就是明瞭水倒下來的過程。我們這裡做簡單的分析, 假設L>C, 如果L
金字塔深度 | 0 | 1 | 1 | 2 | 2 | 2 |
杯號 | 1 | 2 | 3 | 4 | 5 | 6 |
A索引 | 0 | 1 | 2 | 3 | 4 | 5 |
觀察上面的表格,我們會發現,一個規律,i號杯深度為h,則i號中溢位的水,將平分進入:
i + h + 1
i + h + 2
比如,文章開始的圖中,3號杯進入5號和六號,3號杯的h為1,則
5 = 3 + 1 + 1
6 = 3 + 2 + 2
利用這個技巧,可以在陣列中儲存樹形的金字塔,並且可以很方便的找到孩子節點。
計算出所有的A[i]之後,要得到最後的答案,還有一部之遙。即:
A[i] >= C ? C : A[i]
【分析完畢】
本文來自微信:待字閨中,2013-07-31釋出,原創@陳利人 ,歡迎大家繼續關注微信公眾賬號“待字閨中”。 【分析完畢】
相關文章
- 第n杯水;及重出江湖分析
- Google賽馬;及最大矩形分析Go
- 直方圖中最大矩形直方圖
- 藍橋杯-N皇后
- opencv 最大內接矩形筆記OpenCV筆記
- 【ALGO】Leetcode 85.最大矩形GoLeetCode
- P1719 最大加權矩形
- 單調棧進階-接雨水-最大矩形
- [藍橋杯][基礎練習VIP]矩形面積交
- Java 演算法-最大矩形(動態規劃)Java演算法動態規劃
- 面試官:MySQL 中 varchar(n) 中 n 最大取值為多少?面試MySql
- LeetCode_84.柱狀圖中最大的矩形LeetCode
- leetcode:求直方圖構成的矩形最大面積LeetCode直方圖
- 力扣85-最大矩形(巧妙利用上一題解答 Java版題解)力扣Java
- 分析函式——NTILE(n)函式
- rownum—top-N分析
- Leetcode 559. N叉樹的最大深度LeetCode
- 一天8杯水?真的太多了!Science重磅:首個「飲水公式」出爐,你可能一直沒喝對公式
- 相差最大;及逆序分析
- 劍指 Offer 列印從1到最大n位數c++C++
- 【演算法詳解】列印1到最大的n位數演算法
- [藍橋杯][演算法提高VIP]最大乘積 貪心 雙指標演算法指標
- 牛叉,英國最大的水務公司RPA機器人實施案例機器人
- LeetCode每日一題: N叉樹的最大深度(No.559)LeetCode每日一題
- 劍指offer面試題12 列印1到最大的n位數面試題
- canvas 繪製矩形Canvas
- canvas 虛線矩形Canvas
- AUTOCAD——矩形命令
- canvas矩形拖拽效果Canvas
- Mybatis入門及第一個Mybatis程式MyBatis
- 【杯具的分析師-人人都是昏析師】
- hdu4328 最大子矩陣問題O(n*m)掃描思想矩陣
- SVG <rect> 繪製矩形SVG
- opencv外接矩形矯正OpenCV
- SVG矩形旋轉動畫SVG動畫
- ACM 矩形的個數ACM
- 找最大數;及序列生成分析
- 尋找陣列中的最大值和最小值O(1.5*N)陣列