Leetcode--SortColors
来源:互联网 发布:数据机房消防规范 编辑:程序博客网 时间:2024/05/16 19:12
为了达到n的空间复杂度,可以使用快排中的partition方法。利用三个指针:start, iterator, last以及一个区分值p这里为1。iterator遍历整个数组,如果遇到<=1的数则和start交换,遇到>1的数则和last交换这样可以将数字分成<p,=p,>p三部分。
/** * Created by marsares on 15/6/11. */public class SortColors { public void sortColors(int[] nums) { int start=0; int iterator=0; int last=nums.length-1; while(iterator<=last){ if(nums[iterator]<1){ swap(nums,start,iterator); start++; iterator++; } else if(nums[iterator]==1)iterator++; else{ swap(nums,iterator,last); last--; } } } private void swap(int[]nums,int index1,int index2){ int tmp=nums[index1]; nums[index1]=nums[index2]; nums[index2]=tmp; } public void printColors(int[]nums){ for(int i:nums){ System.out.print(i+" "); } System.out.println(); } public static void main(String[]args){ SortColors sc=new SortColors(); int[]array={}; sc.sortColors(array); sc.printColors(array); }}
0 0
- Leetcode--SortColors
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode
- leetcode:
- leetcode:
- LeetCode
- leetcode
- LEETCODE
- leetcode
- leetCode
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode:
- mysql error: The user specified as a definer ('mysqladmin'@'localhost') does not exist
- python学习笔记
- Spring+Quartz整合
- C# Winform DataGridView 全选
- Python基础教程笔记——条件,循环和其他语句
- Leetcode--SortColors
- The connection to adb is down, and a severe error has occured.问题解决方法小结
- Android_BroadcastReceiver详解
- 进程与线程的一个简单解释
- spring之spring与Quartz整合(二)
- late_initcall和module_init
- scala编程--特质
- MediaPlayer支持较大音乐文件的播放,但资源占用率高,延迟时间长,且不支持多个音频同时播放。
- crontab