棋子游戏
一开始我想的非常简单,先进行排序,直接把最右侧的向左移动,最左侧的向右移动不就好了,但是是我想得太简单了,没有考虑到中间棋子的移动可能会超过两端棋子的移动。查阅资料了解了,两端的做法是对的,接下来要做的就是枚举剩下来的棋子了。最左边的棋子可以向左移动,剩下的棋子也可以想左移动,最右边同理。对于中间的棋子a,a左边的棋子可以向左移动,a右边的棋子可以向右运动,这就涉及到间断点了。运用for循环,提取间断点,不断更新最小距离。最后输出dis。 还有一点,对于sort函数,我个人习惯于手写排序,但是容易出错,并且忘记写函数接口,所以以后排序写头文件algorithm
本题 我知道了一个有序数列的移动问题,对什么情况下使用间断点有了初步了解。 接下来要做的就是不断积累总结,相似问题的不同之处。