leetcode Sort Colors java实现
2014-03-06 15:00
176 查看
描述:给一个数组,数组由三种颜色对象组成,分别为红、白、蓝,对数组进行排序,使相同颜色的对象相邻,按照先红再白最后蓝的顺序进行排列。
在这里,我们使用整数0、1、2来分别代表红白蓝三种颜色。(不要使用库函数)
在这里我介绍一种方法不是很普及,但是这种方法的时间复杂度是0(n)。
在这里,我们使用整数0、1、2来分别代表红白蓝三种颜色。(不要使用库函数)
在这里我介绍一种方法不是很普及,但是这种方法的时间复杂度是0(n)。
public class Solution { public void sortColors(int[] A) { int count0 = 0; int count1 = 0; int count2 = 0; for(int i = 0; i < A.length; i++){ if(A[i] == 0){ count0++; } if(A[i] == 1){ count1++; } if(A[i] == 2){ count2++; } } for(int i = 0; i < count0; i++){ A[i] = 0; } for(int i = count0; i < count0+count1; i++){ A[i] = 1; } for(int i = count0+count1; i < count0+count1+count2; i++){ A[i] = 2; } } }以上这种方法通过系统验证了,想法很简单。分别统计出现0、1、2出现的次数,然后直接给数组赋值就ok了。
相关文章推荐
- 【LeetCode-面试算法经典-Java实现】【075-Sort Colors (颜色排序)】
- [PAT]1027. Colors in Mars (20)@Java实现
- 【LeetCode-面试算法经典-Java实现】【075-Sort Colors (颜色排序)】
- Java实现操作JSON的便捷工具类完整实例【重写Google的Gson】
- 判断两个时间区间是否存在交集-Java实现
- 使用BlazeDS实现Java和Flex通信。
- 杭电1728bfs逃离迷宫java实现
- Linux下Java程序调用Openssl命令实现内存中加密数据
- Java LinkedList 实现原理及数据接口
- 排序算法Java实现(归并排序)
- 使用apache.commons.betwixt实现XML与Java对象互转 (二)
- 多生产者--多消费者 显示锁实现同步 java实现
- 深入Java集合学习系列:WeakHashMap的实现原理
- OData的Java实现(一)
- Java实现HTTP文件下载
- Java ArrayList的底层实现方法
- 关于Java编程实现n个小球涂色的问题
- Java 类的热替换 —— 概念、设计与实现
- 各种排序算法及其java程序实现
- JAVA BASE64 加密解密实现代码