Check if Point Is Reachable — LeetCode 2543 Python Solution
- Problem
- #2543
- Pattern
- Math and Number Theory
- Reading time
- 2 min
- Source
- leetcode.com
The problem
There exists an infinitely large grid. You are currently at point (1, 1), and you need to reach the point (targetX, targetY) using a finite number of steps.
Example
- Input
- targetX = 6, targetY = 9
- Output
- false
- Explanation
- It is impossible to reach (6,9) from (1,1) using any sequence of moves, so false is returned.
Python solution
class Solution:
def isReachable(self, targetX: int, targetY: int) -> bool:
x = gcd(targetX, targetY)
return x & (x - 1) == 0Complexity
| Measure | Complexity |
|---|---|
| Time | O(\log(\min(targetX, targetY))) |
| Space | O(1) auxiliary |
Pattern: Math and Number Theory
Find the closed form, the invariant, or the modular identity — and skip the loop entirely. LeetCode 2543. Check if Point Is Reachable is filed here on both counts: the reference solution below belongs to the algorithm family this hub collects, and LeetCode tags it Math and Number Theory.
The math and number theory guide has the Python template for the pattern and the 485 LeetCode problems that use it.
Related problems
Frequently asked questions
- How hard is LeetCode 2543. Check if Point Is Reachable?
- LeetCode 2543. Check if Point Is Reachable is rated Hard on LeetCode.
- What is the time complexity of LeetCode 2543. Check if Point Is Reachable?
- The Python solution on this page runs in O(\log(\min(targetX, targetY))).
- What is the space complexity of LeetCode 2543. Check if Point Is Reachable?
- The Python solution on this page uses O(1) auxiliary space.
- What topics does LeetCode 2543. Check if Point Is Reachable cover?
- LeetCode 2543. Check if Point Is Reachable is tagged Math and Number Theory on LeetCode.