华为慧通面试题


Posted in 面试题 onSeptember 11, 2012
//华为面试题: 有1,2,….一直到n的无序数组,求排序算法,
//并且要求时间复杂度为O(n),空间复杂度O(1),使用交换,而且一次只能交换两个数.
//评论:要使时间复杂度为O(n),那一定是特殊数组,否则不可能实现,
//题目给出数组为1,2,….n,那么可以在这上面做文章,把数组的值和数组的下标联系起来,把a[i]的值给a[a[i]-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 {
b=a[a[i]-1];
a[a[i]-1]=a[i];
a[i]=b;
}
for(i=0;i printf(“%d “,a[i]);
}

#i nclude
#i nclude

int print( int*, int );
int swap( int&, int& );
int main()
{
int *a, n, i;
scanf( “%d”, &n );
a = ( int* ) malloc ( ( n + 1 ) * sizeof( int ) );
for( i = 1; i a[i] = i;
for( i = 1; i swap( a[i], a[rand()%n+1] );
print( a, n );
for( i = 1; i {
while( a[i] != i )
swap( a[i], a[a[i]] );
}
print( a, n );
return 0;
}
int swap( int &i, int &j )
{
int temp = i;
i = j;
j = temp;
return 0;
}
int print( int a[], int n )
{
int i;
for( i = 1; i printf( “%4d”, a[i] );
printf( “\n” );
return 0;
}

//惠通面试题:两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串

void insert(char *s, char *t, int i);

void insert(char *s, char *t, int i)
{
char *q = t;
char *p = s;
if(q == NULL)return;//子串为空
while(*p!=’\0′)
{
p++;
} //移到目标串串尾
while(*q!=’\0′)
{
*p = *q;
p++;
q++;
}//插入
*p = ‘\0′;
}

Tags in this post...

面试题 相关文章推荐
我的applet原先好好的, 一放到web server就会有问题,为什么?
May 10 面试题
简单介绍Object类的功能、常用方法
Oct 02 面试题
构造方法和其他方法的区别?怎么调用父类的构造方法
Sep 22 面试题
写出SQL四条最基本的数据操作语句(DML)
Dec 12 面试题
上海天奕面试题笔试题
Apr 19 面试题
下列程序在32位linux或unix中的结果是什么
Jan 26 面试题
Linux面试题LINUX系统类
Nov 25 面试题
简述进程的启动、终止的方式以及如何进行进程的查看
Feb 20 面试题
异步传递消息系统的作用
May 01 面试题
如何写一个Java类既可以用作applet也可以用作java应用
Jan 18 面试题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
Jul 06 面试题
J2EE系统只能是基于web
Sep 08 面试题
int *p=NULL和*p= NULL有什么区别
Oct 23 #面试题
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
Jun 02 #面试题
函数指针的定义是什么
Aug 14 #面试题
一个C/C++编程面试题
Nov 10 #面试题
Sony C++笔试题
Mar 10 #面试题
VC++笔试题
Oct 13 #面试题
写出程序把一个链表中的接点顺序倒排
Apr 28 #面试题
You might like
php生成图形验证码几种方法小结
2013/08/15 PHP
php 生成短网址原理及代码
2014/01/23 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
浅析php中array_map和array_walk的使用对比
2016/11/20 PHP
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
js prototype 格式化数字 By shawl.qiu
2007/04/02 Javascript
js压缩工具 yuicompressor 使用教程
2010/03/31 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
JS函数多个参数默认值指定方法分析
2016/11/28 Javascript
利用Three.js如何实现阴影效果实例代码
2017/09/26 Javascript
Vue实战之vue登录验证的实现代码
2017/10/31 Javascript
vue设置一开始进入的页面教程
2019/10/28 Javascript
微信小程序实现上传多个文件 超过10个
2020/03/30 Javascript
node.JS二进制操作模块buffer对象使用方法详解
2020/02/06 Javascript
原生js实现瀑布流效果
2020/03/09 Javascript
swiper4实现移动端导航栏tab滑动切换
2020/10/16 Javascript
Python实现k-means算法
2018/02/23 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
css3圆角样式分享自定义按钮样式
2013/12/27 HTML / CSS
英国领先的家庭时尚品牌:Peacocks
2018/01/11 全球购物
如何处理简单的PHP错误
2015/10/14 面试题
垃圾回收的优点和原理。并考虑2种回收机制
2016/10/16 面试题
社区清明节活动总结
2014/07/04 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
教师党的群众路线学习心得体会
2014/11/04 职场文书
2014年安置帮教工作总结
2014/12/11 职场文书
司机岗位职责范本
2015/04/10 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
中职班主任培训心得体会
2016/01/07 职场文书
MySQL 慢查询日志深入理解
2021/04/22 MySQL