Skyline Problem【难】

这道题的描述就给人一种很难的感觉。但是我其实觉得有些ez,medium的看起来更恐怖。这种我人眼知道怎么算的感觉都没有那么恐怖。

第一想法从左边开始看,首先计算第一个building 的leftmost point= 它的高。 然后进入第二个building。如果和之前那个building的地盘有重叠,那么他的高将会是新的point的Y。 和之前building的intesection where one starts/ one ends为新的point的x。

如果两个building没有重叠。 那么就是各自building起点, 终点。



我还是比较满意我这个答案的,不足的地方是没有考虑到同一个region累加的问题。 同一个region或者region范围内加东西简直太恶心了。。。


九章算法:

https://mp.weixin.qq.com/s?__biz=MzA5MzE4MjgyMw==&mid=2649454957&idx=1&sn=3a490c35f06951b287f8e0595483a164&mpshare=1&scene=1&srcid=0317g16NhnkjjN6volM2eDMS&key=5657e61c2ec7753de5eb6df309c0551cdeaedf5566d7cf8600a14b81f5374d104111c7d26e644e96a1f436719c13bebaa0c5d38daa1a59d6ec4b11ece25a362b8ae43646043d0c218139014312fa4934&ascene=0&uin=MTUyMzg3NjAwMA%3D%3D&devicetype=iMac+MacBookAir7%2C1+OSX+OSX+10.12.3+build(16D32)&version=12020010&nettype=WIFI&fontScale=100&pass_ticket=0AiIToHJN8yqpuqRAsA5PaaQMJr8KtvlnZ2EqkX0zx%2BEZweRvHKyF%2ByjmycpUbVn



今天看九章算法,发现 扫描线就是为这题而生的。似乎和count飞机那题也是一样。



视频参考: https://briangordon.github.io/2014/08/the-skyline-problem.html


经过一个多小时的奋斗,终于做出来了! 成就感爆棚有木有!!!




详解:

主要考虑的几个case

1. 完全的叠加。 2.挨着的。3. 中间有空隙的。 4.

解决叠加,化简问题是我觉得这次写的算法最了不起的地方。把所有重叠width的方块里只取它最高height的方块保留下来。具体做法是在遍历building的时候,每次检查一下上一个 added 的方块是不是start和这个start一样,end跟这个end一样。如果是 就比较一下height,谁大保留谁。 


另一个核心算法是 扫描线。 在这题里发挥着很大的作用。 把start, end分开。 然后把Time object 排序。 然后我们每见到一个start就把height加入queue. 每见到一个end 就把之前的pop出来。 碰到end的时候有许多case需要考虑。比如说如果没有人挨着的话,就应该add[position, height=0]. 如果有人挨着的话,看对方Height来决定怎么处理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容