我原来以为是判断给定点组成的线能不能找到一个平行于Y轴且垂直于他的线。结果很明显我理解错了。
写半天发现这题太麻烦了。。。先不做了。。
九章:
https://mp.weixin.qq.com/s?__biz=MzA5MzE4MjgyMw==&mid=2649455145&idx=1&sn=42a0e273ce54c09a5c7839b627fd2296&mpshare=1&scene=1&srcid=03179elCDKEgXgCtuFukuM7x&key=5657e61c2ec7753d5a161e1b1dc226427e03d9d4e853ba94b62f5dfbb35cebba49c207576c2f8c76f738a6d5d5cd891cb71d359ab16f75834dfc7d71923b51269fdeb105b79988c264c2e242c7c639ac&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
竟然说这个是一个简单题。。。
没错!我就是找不到对称轴的那个人!原来是根据最左和最右两个点来找! 也可以根据所有X的平均值。
HashMap key为 数字, val为Hashset。
遍历一遍numbers, 把同一个高度Y的 全部放在hashmap里的set里。
再iterate一轮 numbers,如果map 某个高度竟然并没有存在应该有的x坐标的点的话,证明错误。
最厉害的就是 max+min- points[i]
max + min 基本就是求出 对称轴在哪里。 比如[-3, 3]两个x值的对称轴在0. 那么如果给一个点x=1. 应该必须有一个点在x=-1. [HashMap的作用主要是为了方便查找]
我觉得这题还是挺难的啊。。。。根本想不到。
Also..真正做一遍的时候发现,由于我们只记录高度,所以可以达到O(n)水平 不需要double Loop
九章算法给出的这道题解法有一个小bug,就是min和max的初始值问题。