NC692 奇怪的排序问题
奇怪的排序问题
https://www.nowcoder.com/practice/60ed9956450b42f193d48053bcca7087?tpId=196&&tqId=37679&rp=1&ru=/activity/oj&qru=/ta/job-code-total/question-ranking
- 设计思想:
-视频讲解链接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 resJavaScript版本:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* @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
};牛客题霸 文章被收录于专栏
本专栏主要是牛客题霸习题的讲解,有详细的考点分类,大家可以可以看看呦!!!
