狗家新鲜店面

刚面完, 楼主水平太差感觉gg了…是个很nice的白人小哥, 无口音
一上来寒暄了下问我觉得学过的课程里面最喜欢啥,
问题:

第一个warm-upquestion , 是后面question的铺垫, 就是说两个二维坐标系上的点A, B, 如果Ax > Bx andAy > By, 那么A contain B. 让写个function

第二个问题 就是给你一个set, 里面有些坐标点, 让你从这个set里面找到length of the largest list of points where the point at "contains"the point at [i+1]
比如{(1,1), (3,3), (2,2)} returns 3, 因为存在list[(3,3),(2,2),(1,1)]
{(1,2), (2,1)}returns 1, 因为list只有[(1,2)] 和[(2,1)]最长长度是1
{(1,1), (3,3), (1,2)} return 2, 因为存在[(3,3),(1,2)] 或 [(3,3),(1,1)]

楼主一开始给了个暴力解法然后写代码, 然而细节地方不太对…
然后想了个recursion的办法, 就说了下思路, 没时间写代码了, 小哥听到后说tricky啊啥的…也听不出个态度, 感觉小哥无脑夸…
不出楼主意料的果然没写出来…水平太菜…哎继续努力刷题去了

提供一个思路,首先可以将题目转化为图,然后还是个DAG,跑个dp算最长路。

是的…我刚才才想起来…可以dp做

提供一个思路,首先可以将题目转化为图,然后还是个DAG,跑个dp算最长路。

不用这么复杂,利口354,给信封排序,信封的宽度从小到大排,但是宽度相等时,我们让高度大的在前面。那么现在问题就简化了成了找高度数字中的LIS