操场上有 n个人排成一队,这 n 个人身高互不相同,可将他们的身高视为一个 1 到 n 的排列。 这时需要把队伍变成升序,也就是从矮到高排序。 每次可以选择一个人,让这个人和在他身后的人比高矮,如果比对方高,则交换位置并继续下一次比较,直到比对方矮或者已经在队尾。 现在给出数 n 和一个 1 到 n 的排列,求最少的选择次数,使数组变为升序。
示例1
输入
4,[4,1,2,3]
输出
1
备注:
n数据包含一个整数n和一个含有n个元素的数组,表示从队头到队尾的人的身高。输出一个整数表示答案。
加载中...
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param n int整型 * @param a int整型一维数组 * @return int整型 */ public int wwork (int n, int[] a) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param n int整型 * @param a int整型vector * @return int整型 */ int wwork(int n, vector
& a) { // write code here } };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # @param n int整型 # @param a int整型一维数组 # @return int整型 # class Solution: def wwork(self , n , a ): # write code here
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param n int整型 * @param a int整型一维数组 * @return int整型 */ function wwork( n , a ) { // write code here } module.exports = { wwork : wwork };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # @param n int整型 # @param a int整型一维数组 # @return int整型 # class Solution: def wwork(self , n , a ): # write code here
package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param n int整型 * @param a int整型一维数组 * @return int整型 */ func wwork( n int , a []int ) int { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param n int整型 * @param a int整型一维数组 * @param aLen int a数组长度 * @return int整型 */ int wwork(int n, int* a, int aLen ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # @param n int整型 # @param a int整型一维数组 # @return int整型 # class Solution def wwork(n, a) # write code here end end
4,[4,1,2,3]
1