设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[面试题库] 华为慧通面试题

[复制链接]
跳转到指定楼层
楼主
发表于 2014-11-30 10:03:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//华为面试题:  有1,2,….一直到n的无序数组,求排序算法,
//并且要求时间复杂度为O(n),空间复杂度O(1),使用交换,而且一次只能交换两个数.
//评论:要使时间复杂度为O(n),那一定是特殊数组,否则不可能实现,
//题目给出数组为1,2,….n,那么可以在这上面做文章,把数组的值和数组的下标联系起来,把a的值给a[a-1],比如a[3]=5,则把5赋给a[5-1]也就是a[4]=5,则符合要求了。

#i nclude
void main()
{ int a[10]={3,6,8,4,2,9,7,1,5,10};//{6,3,4,8,2,9,7,1,5,10}; 这个数例不行
int b,i;
for(i=0;i
回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-5-13 15:13 , Processed in 0.175165 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表