荷兰国旗-三色查找
2016-01-11 10:40
417 查看
有一个只由0,1,2三种元素构成的整数数组,请使用交换、原地排序而不是使用计数进行排序。
给定一个只含0,1,2的整数数组A及它的大小,请返回排序后的数组。保证数组大小小于等于500。
测试样例:
[/code]
给定一个只含0,1,2的整数数组A及它的大小,请返回排序后的数组。保证数组大小小于等于500。
测试样例:
[0,1,1,0,2,2],6
返回:[0,0,1,1,2,2] 具体解法和三分切向快速排序很像[code]public class ThreeColor { public static int[] sortThreeColor(int[] A, int n) { int i=0,j=n-1; for (int k = 0; k < n; k++) { if (k>j)break; if(A[k]==0) exch(A,k,i++); if (A[k]==2)exch(A,k--,j--); } return A; } private static void exch(int[] a,int i,int j){ int t=a[i]; a[i]=a[j]; a[j]=t; } private static void show(int[] a){ for (int i = 0; i <a.length ; i++) { System.out.print(a[i] + " "); } System.out.println(); } public static void main(String[] args) { int[] A=new int[]{1,2,0,2}; sortThreeColor(A,4); show(A); } }
[/code]
相关文章推荐
- android-x86模拟器中网络设置
- 黑马程序员——iOS 开发学习---登录注册页面跳转
- 【学神-RHEL7】P2-Python流程控制
- (转)理解Keystone的四种Token
- 转:Python K-means代码
- 三招搞定群体面试
- 特定位数分隔字符串
- 破解 Rith's CrackMe #1(对比IDA查看动态分析中的MFC函数名)
- Mysql常见水平分表方案
- Android Sdudio接入NDK
- 动态链接库和静态链接库
- 【学神-RHEL7】 P1-Python基础
- iOS中PCH文件的配置
- 使用qemu进行内核kgdb调试(ubuntu)
- OpenCL Installable Client Driver (ICD) Loader编译
- 将 Tor socks 转换成 http 代理
- 性能测试常见指标
- 蓝桥杯 买不到的数目 (DP&遍历模拟)
- iOS开发UI篇—CAlayer(自定义layer)
- iOS多线程的初步研究(十)-- dispatch同步