首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
设计将所有奇数移到所有偶数之前的算法。
[问答题]
设计将所有奇数移到所有偶数之前的算法。
添加笔记
求解答(0)
邀请回答
收藏(5)
分享
纠错
2个回答
添加回答
1
阿奻_
void quickpass(int r[], int s, int t)
{
int i=s,j=t,x=r[s];
while(i<j)
{
while (i<j && r[j]%2==0) j=j-1; if (i<j) {r[i]=r[j];i=i+1;}
while (i<j && r[i]%2==1) i=i+1; if (i<j) {r[j]=r[i];j=j-1;}
}
r[i]=x;
}
发表于 2017-05-17 01:46:50
回复(4)
0
蝎子莱莱w
本题可采用快速排序的划分思想来设计算法,只需遍历一次即可,其时间复杂度为O(n) 空间复杂度为O(1)
基本思想是:先从前往后找到一个偶数元素,再从后往前找到一个奇数元素,将二者交换。
发表于 2021-12-17 20:50:45
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
高级算法
上传者:
阿奻_
难度:
2条回答
5收藏
3441浏览
热门推荐
相关试题
假定一个待哈希存储的线性表为(32...
哈希
评论
(1)
5.下列判断正确的是( )
资料分析
言语理解与表达
资料分析
评论
(1)
《拳皇97》最后BOSS是谁?
游戏常识
评论
(1)
《魔兽世界》中,下列不属于玩家可以...
游戏常识
评论
(1)
你有没有崇拜的偶像,你欣赏他/她身...
通用能力
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题