思路:第一种方法:要求将黑白求分边。其实只要将所有白球或者所有黑球移动到一边便可以完成上述要求,遍历数组,当遍历到白球时,步数加上这个白球前面的黑球个数=将这个白球移动到前面所有黑球的前面,遍历到黑球,黑球计数值加1,这样从头到尾遍历一遍即可
代码部分:
方法二:贪心算法(巧妙)
思路:最小步数=把所有白球都移到第一位-(当白球已经排成一队时,每个位置的白球移动到第一个位置所需要的步数)
代码部分
值得注意的是:p*(p-1)是等差数列和
思路:第一种方法:要求将黑白求分边。其实只要将所有白球或者所有黑球移动到一边便可以完成上述要求,遍历数组,当遍历到白球时,步数加上这个白球前面的黑球个数=将这个白球移动到前面所有黑球的前面,遍历到黑球,黑球计数值加1,这样从头到尾遍历一遍即可
代码部分:
方法二:贪心算法(巧妙)
思路:最小步数=把所有白球都移到第一位-(当白球已经排成一队时,每个位置的白球移动到第一个位置所需要的步数)
代码部分
值得注意的是:p*(p-1)是等差数列和