FastPrepReaching Points

Reaching Points

Virtu Financial logoVirtu Financial● HardFULLTIMEOA
Learn

Problem statement

Start at the positive coordinate (sx, sy). In one move, replace it with either (sx + sy, sy) or (sx, sx + sy).

Return whether some sequence of moves reaches (tx, ty).

Function

reachingPoints(sx: int, sy: int, tx: int, ty: int) → boolean

Examples

Example 1

sx = 1sy = 1tx = 3ty = 5return = true

(1,1) can move to (1,2), then (3,2), then (3,5).

Example 2

sx = 1sy = 1tx = 2ty = 2return = false

Neither legal move can produce (2,2).

Constraints

  • 1 <= sx, sy, tx, ty <= 10^9

More Virtu Financial problems

See Virtu Financial hiring insights
public boolean reachingPoints(int sx, int sy, int tx, int ty) {
    // Write your code here.
}
sx1
sy1
tx3
ty5
expectedtrue
Checking account…