idea:
1.从后向前找
2.while (tx > ty) tx -= ty; 替为 % 操作
3.经过循环后,必定只有两种情况才true

  1. sx == tx && sy <= ty && (ty - sy) % sx == 0
  2. sy == ty && sx <= tx && (tx - sx) % sy == 0
public boolean reachingPoints(int sx, int sy, int tx, int ty) {
        while (tx > sx && ty > sy){
            if (tx > ty)    tx %= ty;
            else    ty %= tx;
        }
        return sx == tx && sy <= ty && (ty - sy) % sx == 0 ||
            sy == ty && sx <= tx && (tx - sx) % sy == 0;
            
    }

相关文章:

  • 2021-06-15
  • 2021-11-30
  • 2021-06-09
  • 2021-08-27
  • 2019-09-10
  • 2021-08-02
  • 2021-12-03
  • 2021-03-30
猜你喜欢
  • 2021-11-13
  • 2021-05-07
  • 2021-08-03
  • 2018-08-22
  • 2021-06-24
  • 2021-10-16
  • 2022-01-13
  • 2021-09-06
相关资源
相似解决方案