美文网首页
780. 到达终点 (Reaching Points)

780. 到达终点 (Reaching Points)

作者: 余空啊 | 来源:发表于2019-01-17 17:51 被阅读0次

title: ' 780. 到达终点 (Reaching Points)'
date: 2019-01-17 17:10:17
categories: leetcode
tags: [leetcode,算法, java]


从点 (x, y) 可以转换(x, x+y) 或者 (x+y, y)

给定一个起点 (sx, sy) 和一个终点 (tx, ty),如果通过一系列的转换可以从起点到达终点,则返回 True,否则返回 False

示例:
输入: sx = 1, sy = 1, tx = 3, ty = 5
输出: True
解释:
可以通过以下一系列转换从起点转换到终点:
(1, 1) -> (1, 2)
(1, 2) -> (3, 2)
(3, 2) -> (3, 5)

输入: sx = 1, sy = 1, tx = 2, ty = 2
输出: False

输入: sx = 1, sy = 1, tx = 1, ty = 1
输出: True

注意:

  • sx, sy, tx, ty 是范围在 [1, 10^9] 的整数。

由于本题按照题目给的思路正向一步一步走下去会存在多种情况,我们可以逆向推导。反推起点,因为这样只存在两种种情况。

  • if : tx > ty then : tx = tx % ty
  • if : ty > tx then : ty = ty % tx

java代码

class Solution {
    public boolean reachingPoints(int sx, int sy, int tx, int ty) {
        while(tx > sx && ty > sy) {
            if (tx > ty) {
                tx = tx % ty;
            } else {
                ty = ty % tx;
            }
        }
        if (tx == sx) {
           return  (ty - sy)   % tx == 0;
        } else if(ty == sy) {
           return (tx  - sx) % ty  == 0;
        } else {
          return false;
        }
        
    }
}

python代码

class Solution:
    def reachingPoints(self, sx, sy, tx, ty):
        """
        :type sx: int
        :type sy: int
        :type tx: int
        :type ty: int
        :rtype: bool
        """
        while tx > sx and ty > sy:
            if tx > ty:
                tx = tx % ty
            else:
                ty = ty % tx
        
        if tx == sx:
             return (ty - sy) % sx == 0
        if ty == sy:
             return (tx - sx) % sy == 0
        return False

相关文章

  • 780. 到达终点 (Reaching Points)

    title: ' 780. 到达终点 (Reaching Points)'date: 2019-01-17 17:...

  • 780. Reaching Points

    A move consists of taking a point (x, y) and transforming...

  • 780. 到达终点 - 每日一题

    780. 到达终点 - 力扣(LeetCode) (leetcode-cn.com)[https://leetco...

  • Reaching Points

    Reaching Points 问题 如果给出一个点 (x,y),可以选择下一个点的坐标 (x+y,y),或者(x...

  • LeetCode刷题--Reaching Points

    1. 题目 原题地址 A move consists of taking a point (x, y) and t...

  • 到达终点

    在这个阳光明媚的日子里,我们做着有意义的事情,参加迷你马拉松。陈诤豪和他好朋友以自己最快的速度到达了终点,今年比去...

  • 编译器笔记49-代码优化-到达定值分析

    到达定值分析 定值(Definition)变量x的定值是(可能)将一个值赋给x的语句 到达定值(Reaching ...

  • 为了到达终点

    人类最伟大的力量 不是多少牛顿 而是精神的力量 当我相信 当我信仰 我可以独自 纵使匍匐 也不辜负 也不放弃 去那...

  • 似乎到达终点

    准备了大半年的考研在2017年12月24日的下午17:00结束了,踏着似乎看起来愉悦的脚步走出考场,看着身边的各位...

  • 到达终点以后

    XM二十多年来一直纠结一个问题,就是父母到底爱不爱自己。她认为父母爱DD多一些,所有的东西总是要先满足DD,然后才...

网友评论

      本文标题:780. 到达终点 (Reaching Points)

      本文链接:https://www.haomeiwen.com/subject/umtwdqtx.html