LintCode 143. Sort Colors II
来源:互联网 发布:哪个电视直播软件最好 编辑:程序博客网 时间:2024/06/06 04:30
This is a very interesting question! I like it!
#include <iostream>#include <vector>#include <climits>using namespace std;/* Given an array of n objects with K difference colors. sort them so that objects of the same color are adjacent, with the colors in the order 1, 2, ... k Note: You are not suppose to use the library's sort function for this problem. Exmaple: Given colors = [3, 2, 2, 1, 4], k = 4, you code should sort colors in-place to [1, 2, 2, 3, 4];*/void sortColorsII(vector<int>& colors, int k) { int start = 0; int end = colors.size() - 1; int count = 0; while(count < k) { int currMin = INT_MAX; int currMax = INT_MIN; for(int i = start; i <= end; ++i) { currMin = min(currMin, colors[i]); currMax = max(currMax, colors[i]); } int left = start; int right = end; int curr = left; while(curr <= right) { if(colors[curr] == currMin) { swap(colors[curr], colors[left]); curr++; left++; } else if(colors[curr] > currMin && colors[curr] < currMax) { curr++; } else { swap(colors[curr], colors[right]); right--; } } count += 2; start = left; end = right; }}int main(void) { vector<int> colors {3, 2, 2, 1, 4}; sortColorsII(colors, 4); for(int i = 0; i < colors.size(); ++i) cout << colors[i] << endl;}
0 0
- LintCode 143. Sort Colors II
- Lintcode - sort colors II
- lintcode:Sort Colors II
- [LintCode]Sort Colors II
- lintcode:Sort Colors
- [刷题]Sort Colors II
- sort-colors-ii
- Sort Colors II
- #143 Sort Colors II
- [LintCode] 颜色分类 Sort Colors
- [Lintcode]Sort Colors颜色分类
- 143.Sort Colors II-排颜色 II(中等题)
- LintCode Wiggle Sort II
- Sort Colors
- sort colors
- Sort Colors
- Sort Colors
- Sort Colors
- 30分钟快速掌握Bootstrap
- java调用webservice的方法
- android 从java到C层文件读取流程
- Cuava字符串处理:分割,连接,填充
- Openssl CA证书生成以及双向认证,及windows系统证书批量导出,android cer转bks
- LintCode 143. Sort Colors II
- ActivityCompat使用
- MongoDB 基础
- PHP输出json数据时中文不进行unicode编码的几种方法总结
- android studio 工具使用的常见问题
- Android创建桌面快捷方式
- springMVC上传
- Python学习-机器学习实战-ch07 AdaBoost
- 解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法