LeetCode 查找表专题 6:灵活选择键值:Number o
2019-05-27 本文已影响0人
李威威
例题:LeetCode 第 477 题:回旋镖的数量
传送门:447. 回旋镖的数量。
给定平面上 n 对不同的点,“回旋镖” 是由点表示的元组
(i, j, k)
,其中i
和j
之间的距离和i
和k
之间的距离相等(需要考虑元组的顺序)。找到所有回旋镖的数量。你可以假设 n 最大为 500,所有点的坐标在闭区间 [-10000, 10000] 中。
示例:
输入: [[0,0],[1,0],[2,0]] 输出: 2 解释: 两个回旋镖为 [[1,0],[0,0],[2,0]] 和 [[1,0],[2,0],[0,0]]
思路:对于每一个点 i
,都需要建立一个查找表。这道题的解法记住就可以了。
Python 代码:
练习:LeetCode 第 149 题:直线上最多的点数
传送门:149. 直线上最多的点数。
给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。
示例 1:
输入: [[1,1],[2,2],[3,3]] 输出: 3 解释: ^ | | o | o | o +-------------> 0 1 2 3 4
示例 2:
输入: [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]] 输出: 4 解释: ^ | | o | o o | o | o o +-------------------> 0 1 2 3 4 5 6
Python 代码:
(本节完)