用数学归纳法
当k=1时,显然是两个相邻的数逆序了,把它们对换过来就行.
假设k-1时,通过k-1次对换就可以.
那么当k时,
从左到右找,找到第1处相邻两数是逆序的,将其对换,这时剩余逆序数为k-1.
由归纳假设,剩下的拥有k-1逆序的可由k-1次对换完成,所以总共需要对换数:1+(k-1)=k
第2问
当然不是最少的.
假设第1个数是最大的,第n个数是最小的,其它数都是排序好的.
那么逆序数是2n-3,但1次对换就行,把第1个数和第n个数对换就行.
用数学归纳法
当k=1时,显然是两个相邻的数逆序了,把它们对换过来就行.
假设k-1时,通过k-1次对换就可以.
那么当k时,
从左到右找,找到第1处相邻两数是逆序的,将其对换,这时剩余逆序数为k-1.
由归纳假设,剩下的拥有k-1逆序的可由k-1次对换完成,所以总共需要对换数:1+(k-1)=k
第2问
当然不是最少的.
假设第1个数是最大的,第n个数是最小的,其它数都是排序好的.
那么逆序数是2n-3,但1次对换就行,把第1个数和第n个数对换就行.