参考网址:https://leetcode.com/problems/moving-stones-until-consecutive/discuss/282836/C%2B%2BJava-4-lines
解题思路:
(1)正好构成连续的,无需移动
(2)两个区间长度,其中之一如果满足正好插入一个即可连续,移动一次即可
(3)否则两次即可,即将端点移动中间点的左右邻居
(4)最大次数就是一次只移动一位
class Solution {
public:
vector<int> numMovesStones(int a, int b, int c) {
vector<int> s = { a, b, c };
sort(begin(s), end(s));
if (s[2] - s[0] == 2) return { 0, 0 };
return { min(s[1] - s[0], s[2] - s[1]) <= 2 ? 1 : 2, s[2] - s[0] - 2 };
}
};