RGB序列排序
来源:互联网 发布:零基础学美工要多久 编辑:程序博客网 时间:2024/06/07 11:38
满足要求时间复杂度O(n),空间复杂度O(1),且只能遍历一次序列(IGT笔试题):
void SortRGB(char *str){
if(str==NULL)
return;
char *pBegin=str;
char *pEnd=str;
while(*pEnd!='\0')
pEnd++;
pEnd--;
char *pG=pBegin;
char *pB=pEnd;
while(pBegin<pEnd)
{
if(*pBegin=='R')
{
if(pG<pBegin)
{
*pBegin='G';
*pG='R';
}
pG++;
pBegin++;
}
else if(*pBegin=='G')
{
pBegin++;
}
else if(*pBegin=='B')
{
while(*pB=='B')
pB--;
*pBegin=*pB;
*pB='B';
pB--;
pEnd=pB;
}
}
}
- RGB序列排序
- 排序实现RGB序列(转)
- RGB序列
- RGB排序
- RGB字符排序
- rgb
- RGB
- RGB
- RGB
- RGB
- RGB
- 2013 IGT笔试题 RGB序列有序化
- 序列的排序
- 合并两个排序序列
- 排序子序列
- 排序子序列
- 排序子序列
- 重新排序一个序列
- [TYVJ-1088] DP
- Oracle中TO_DATE格式用法
- Range Minimum Query and Lowest Common Ancestor
- 与众不同的技术社区
- 毕业后五年之内将决定你的一生 人生与励志
- RGB序列排序
- IOS的消息循环
- Windows CE 5.0 五笔输入法
- android五种存储方式
- error: can't create transaction lock on /var/lib/rpm/__db.000解决办法
- 各种网盘的对比
- Ubuntu下VNC配置
- dos命令:cd命令使用说明
- Android中TextView中文字体粗体的设置方法