- 设计思想:
-视频讲解链接B站视频讲解
- 复杂度分析:
- 代码:
c++版本:
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param n int整型 * @param a int整型vector * @return int整型 */ int wwork(int n, vector<int>& a) { // write code here int minn = a[n-1];//用于记录当前到达哪个最小值 int res = 0; for(int i = n - 2;i >= 0;--i){ if(a[i] > minn){//如果当前数字比后面的大,就需要调换 res ++; }else{ //进行最小值更新 minn = a[i]; } } return res; } };
Java版本:
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param n int整型 * @param a int整型一维数组 * @return int整型 */ public int wwork (int n, int[] a) { // write code here int minn = a[n-1];//用于记录当前到达哪个最小值 int res = 0; for(int i = n - 2;i >= 0;--i){ if(a[i] > minn){//如果当前数字比后面的大,就需要调换 res ++; }else{ //进行最小值更新 minn = a[i]; } } return res; } }
Python版本:
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # @param n int整型 # @param a int整型一维数组 # @return int整型 # class Solution: def wwork(self , n , a ): # write code here minn = a[n-1]#用于记录当前到达哪个最小值 res = 0 for i in range(n-1,-1,-1): if a[i] > minn:#如果当前数字比后面的大,就需要调换 res += 1 else: #进行最小值更新 minn = a[i] return res
JavaScript版本:
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param n int整型 * @param a int整型一维数组 * @return int整型 */ function wwork( n , a ) { // write code here let minn = a[n-1];//用于记录当前到达哪个最小值 let res = 0; for(let i = n - 2;i >= 0;--i){ if(a[i] > minn){//如果当前数字比后面的大,就需要调换 res ++; }else{ //进行最小值更新 minn = a[i]; } } return res; } module.exports = { wwork : wwork };