Class Solution
- java.lang.Object
-
- g1001_1100.s1033_moving_stones_until_consecutive.Solution
-
public class Solution extends Object
1033 - Moving Stones Until Consecutive.Medium
There are three stones in different positions on the X-axis. You are given three integers
a
,b
, andc
, the positions of the stones.In one move, you pick up a stone at an endpoint (i.e., either the lowest or highest position stone), and move it to an unoccupied position between those endpoints. Formally, let’s say the stones are currently at positions
x
,y
, andz
withx < y < z
. You pick up the stone at either positionx
or positionz
, and move that stone to an integer positionk
, withx < k < z
andk != y
.The game ends when you cannot make any more moves (i.e., the stones are in three consecutive positions).
Return an integer array
answer
of length2
where:answer[0]
is the minimum number of moves you can play, andanswer[1]
is the maximum number of moves you can play.
Example 1:
Input: a = 1, b = 2, c = 5
Output: [1,2]
Explanation: Move the stone from 5 to 3, or move the stone from 5 to 4 to 3.
Example 2:
Input: a = 4, b = 3, c = 2
Output: [0,0]
Explanation: We cannot make any moves.
Example 3:
Input: a = 3, b = 5, c = 1
Output: [1,2]
Explanation: Move the stone from 1 to 4; or move the stone from 1 to 2 to 4.
Constraints:
1 <= a, b, c <= 100
a
,b
, andc
have different values.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int[]
numMovesStones(int a, int b, int c)
-