关注
import java.util.Scanner;
public class Solution {
/**
* @param args
*/
static int sum = 0;
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int n = in.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = in.nextInt();
}
int lo = 0;
int hi = n - 1;
quick(arr, lo, hi);
System.out.println(sum);
}
}
public static void quick(int[] arr, int lo, int hi) {
if (hi <= lo) {
return;
}
int lt = lo;
int i = lo + 1;
int gt = hi;
int tmp = arr[lo];
while (i <= gt) {
if (arr[i] < tmp) {
swap(arr, lt++, i++);
} else if (arr[i] > tmp) {
swap(arr, i, gt--);
} else {
i++;
}
}
quick(arr, lo, lt - 1);
quick(arr, gt + 1, hi);
}
public static void swap(int[] a, int i, int j) {
if (a[i] != a[j])
sum++;
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
} 三向切分快排,不知道好不好使
查看原帖
点赞 评论
相关推荐
07-24 15:34
西北工业大学 嵌入式软件开发 点赞 评论 收藏
分享
07-15 19:18
华南理工大学 Java 
点赞 评论 收藏
分享
07-06 23:16
大连理工大学 机械结构工程师 点赞 评论 收藏
分享

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 工作中哪个瞬间让你想离职 #
28324次浏览 195人参与
# 在职场上,你最讨厌什么样的同事 #
16210次浏览 159人参与
# 小米硬件提前批进度交流 #
171071次浏览 1527人参与
# 机械人,秋招第一次笔试的企业是哪家? #
41080次浏览 325人参与
# 哪些公司校招卡第一学历 #
73634次浏览 292人参与
# 选了这个offer,你有没有后悔? #
592896次浏览 4026人参与
# 入职以后才知道的校招谎言 #
88932次浏览 587人参与
# 华子oc时间线 #
1244924次浏览 6487人参与
# 哪些公司开提前批了? #
29448次浏览 274人参与
# 担心入职之后被发现很菜怎么办 #
139123次浏览 808人参与
# 风评不好的公司,你会去吗? #
65491次浏览 459人参与
# Offer比较,你最看重什么? #
192080次浏览 1309人参与
# 实习如何「偷」产出? #
55157次浏览 1385人参与
# 两会劳动法放大招 #
76678次浏览 692人参与
# 不卡学历的大厂有哪些? #
32089次浏览 243人参与
# 校招阶段,学历VS技术哪个更重要? #
18986次浏览 197人参与
# 机械人春招想让哪家公司来捞你? #
349530次浏览 3088人参与
# 除了主业以外,你还有哪些其他收入? #
13258次浏览 203人参与
# 工作丧失热情的瞬间 #
294374次浏览 2373人参与
# 你最满意的offer薪资是哪家公司? #
33203次浏览 177人参与