class Solution {
public:
vector<int> numMovesStones(int a, int b, int c) {
vector<int> nums = { a,b,c };
sort(nums.begin(), nums.end());
vector<int> res;
if (nums[1] - nums[0] == 1 && nums[2] - nums[1] == 1) {
res.push_back(0);
}
else if (nums[1] - nums[0] == 1 || nums[2] - nums[1] == 1 || nums[1] - nums[0] == 2 || nums[2] - nums[1] == 2)
{
res.push_back(1);
}
else {
res.push_back(2);
}
res.push_back(-nums[0] + nums[2] - 2);
return res;
}
};
LeetCode 1033:移动石子直到连续(Moving Stones Until Consecutive)解法汇总
最新推荐文章于 2026-02-17 07:36:21 发布
本文提供了一道LeetCode上的石头游戏题目解决方案,通过代码详细解释了如何计算将三堆石头整理成一堆所需最少和最多步骤的方法。文章采用C++实现,首先对三堆石头的数量进行排序,然后根据不同情况判断最小步数,最后计算最大步数。
559

被折叠的 条评论
为什么被折叠?



