Monday, November 26, 2018

[LeetCode]Mirror Reflection

这道题我们需要巧妙的想法,如果我们根据p和q把整个屋子关于x或者y轴镜像,我们不难找到其中的规律,如下图所示:




从上图可以看到,规律如下,如果我们把p和q约成最简分数(6/4->3/2):

  • 关于y轴对称偶数次,x轴对称奇数次,我们会到达2
  • 关于y轴对称奇数次,x轴对称偶数次,我们会到达0
  • 关于y轴对称奇数次,x轴对称奇数次,我们会到达1
  • 关于y轴对称偶数次,x轴对称偶数次,不可能,因为这代表可以继续约分
所以我们求gcd(p, q)即可,时间复杂度O(log(p + q)),代码如下:


No comments:

Post a Comment