1个回答
展开全部
1. 先收集所有的非1"石头"元素,到一个从小到大的有序堆heap中间..
Heap stonesToRemove=collectStones(stoneTable);
2. 以起始坐标(0,0)为首个“上一个坐标”,
prevPos=(0,0);
int sumSteps=0;
3. 在依次弹出堆中的元素,
For Each stone In stonesToRemove:
3.1. 测量逐个元素和上一个坐标的最小距离,并累加统计步数总和,,
sumSteps+=measurePosition(stone, prevPos)
prevPos=stone; 以当前石头位置为新的上一位置.
4. 输出总和..
return sumSteps;
-----------
我初步的想法,加了不能运行的伪代码
Heap stonesToRemove=collectStones(stoneTable);
2. 以起始坐标(0,0)为首个“上一个坐标”,
prevPos=(0,0);
int sumSteps=0;
3. 在依次弹出堆中的元素,
For Each stone In stonesToRemove:
3.1. 测量逐个元素和上一个坐标的最小距离,并累加统计步数总和,,
sumSteps+=measurePosition(stone, prevPos)
prevPos=stone; 以当前石头位置为新的上一位置.
4. 输出总和..
return sumSteps;
-----------
我初步的想法,加了不能运行的伪代码
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询