华为一道排序题

简单一道排序题,考倒多少读书人!——从华为一道面试题浅谈计算机专业在校大学生该如何学习专业课程,信心百倍挑战就业! /*===================================================================作者:rerli时间:2003-12-17目的:从华为一道面试题浅谈计算机专业在校大学生该如何学习专业课程,信心百倍挑战就业! =============================================================== 阅读详情
简单一道排序题,考倒多少读书人!
 ——从华为一道面试题浅谈计算机专业在校大学生该如何学习专业课程,信心百倍挑战就业!
    
 大学生早已不是天之骄子,仅仅是一个普通劳动者。

       网上一句顺口溜“本科生象条狗,硕士生满街走,只有博士才能抖一抖”真正恰如其分地说明了这一点。我想许多到深圳求职的,到过宝安北路的深圳人才大市场的大学生朋友会有同感。只要是非休息日,场场爆满,黑压压的人头攒动。就业的残酷性已经到了”学士学士靠边站,硕士硕士中间站,博士博士往前站。听说你是海归派,Hello Hello签合同。“的地步。

      计算机专业的毕业生由于前几年就业形势好,IT整个行业还不错,工资相对高点,所以许多人纷纷转行搞编程。这两年行业不景气,工资大不如前,但搞编程的人还是越来越多,特别是非计算机科班出生的。面对这样的现实,我们计算机专业在校大学生应该怎样调整,迎战就业呢?
 
       在回答这个问题之前,我们还是来看看现在的公司都是怎样招人的。

       现在找工作,建议在网上找。深圳这边效果好的网站是中国人才热线。天天在上面发简历,等着公司打电话要你去面试就行了。如果有公司要你去面试了,基本都是要过关斩将才有机会和人面谈。一般都是一进公司门,前台小姐会很热情地给你一份试卷做(你不要多问,先老老实实做完题吧:)),根本就不给你机会面谈(题目答得好,你才具备资格和人面谈)。做完了,就放到前台那里,回家等电话吧。机会好的话,可能是管人事方面的人跟你聊聊天,比查户口都要严,什么都问。我是觉得有空要多看看政府发言人、影视明星发言人、公司发言人等等这类讲话,多学学他们是怎么回答记者提问的,这样你才能对付那些人力资源的人。呵呵,这是题外话了。

       看到这里,你终于明白,考试还是重要的第一关。都考些啥?我们从华为一道面试题来看看吧!

       原题大意是这样的:
       有N个大小不等的自然数(1--N),请将它们由小到大排序。
       要求程序算法:时间复杂度为O(n),空间复杂度为O(1)。
       (请你做做看,时间20分钟)

       这一题40分(面试试卷总分100分,60分钟完成。)占40%,可以说对面试成绩至关重要,借用高考的一个名词,这是最后“压轴题”。试卷的分布是这样的,3--5个填空题,4个左右名词解释,8个左右选择题(单选、多选混在一起),2个编程题(任选一题,多做按得分少的计入总分)。就整体难度来说不是很大,考的范围相对来说有点大--C语言、数据结构、网络基础、操作系统、软件工程、数据库等等,但都很基础很基础,都是计算机专业必修课。如果基础知识牢固的话,可能40分钟就能做完。

       我上面所说的从这道“压轴题”可窥一斑了。相信许多人在拿到这道题,第一感觉就是很简单嘛,似乎不敢相信会考这么简单的题目!但是,就是这么简单的题目,还真是考倒了许多人,都是大学本科生,学计算机的,有的还是研究生。还真有点“简单一道排序题,考倒多少读书人!”的味道。这是我一个在华为的同学告诉我的,所以可信度应该是很高的。

       如果是平时自己做作业,我相信许多人可能一下子就做出来了。原因我分析有两个:一是平时看题会仔细一些,有足够的时间;二是心理上觉得华为不可能考得这么简单,老想是否有什么“陷阱”,过度紧张,加之考试时间本身也不长,60分钟,估计大多数人花在这题上面的的时间一般也就20~30分钟吧。因此,建议在校期间应加强心理素质的训练,这么多大大小小的考试都经历过了,再考一次又有何妨!

       从这道题出题意图来看,出题者主要是想考面试者的思维是否敏捷清醒、做事是否认真仔细是否善于思考、基本知识掌握程度如何。为什么这么说呢,第一这道题的确不难,就是一般排序。排序的方法在数据结构中讲得实在是太多了,各种各样的选择排序、插入排序、冒泡排序、希尔排序、堆排序、快速排序等等。但是,用心的人就记得它们当中没有一个算法复杂度是O(n),且不说空间复杂度要满足O(1)。第二就是这道题真正的考点就是看你能否想到数组的下标与这N个数存在的关系。这就是考题中的个小玄机。这N个数随你怎么乱序,排好序后就是数组(让下标从1开始)下标为1的元素,里面放的就一定是1,下标为n的元素,里面放的就一定是N。观察出这点,题目就解决了。

        这道题三言两语就分析完了(详细程序见后面)。透过这道题,我来简单说说计算机专业在校大学生该如何学习专业课程。正如你所见,IT有名的公司,考试题目的难度也不过如此。我想只要是想招应届毕业生的公司,他们都不会出很高深的东西来考你。大家都知道,在校是学习基础理论知识的,不是从事研究的,所以他们没有必要那么做。因此,建议多在基础知识方面下工夫,有条件的多做习题、多上机、勤思考,多看看同一个问题其他人是怎么解决的,和你的有什么不同。有精力的人,试着考程序员、高级程序员,这样你有个目标,学习起来可能更来劲,各专业课学起来联系更紧密。

       总之一句话,注重基础知识,有目标的学习,理论结合习题集。

       [一家之言,欢迎有兴趣的朋友一起讨论:)]
*/


void sort(int e[], int n)
{
 int i;
 int t; /*临时变量:空间复杂度O(1)*/

 for (i=1; i<n+1; i++) /*时间复杂度O(n)*/
 {
  t = e[e[i]]; /*下标为e[i]的元素,排序后其值就是e[i]*/
  e[e[i]] = e[i];
  e[i] = t;
 }
}

void main()
{ 
 #define MAX 10
 int i, a[MAX+1]; 
 
 printf("Input the number from 1 to %d:/n",MAX);
 for (i=1; i<MAX+1; i++)
 {
  scanf("%d",&a[i]);
 }
  
 sort(a,MAX);

 printf("/n====sort over====/n");
 for (i=1; i<MAX+1; i++)
 {
  printf("%d ",a[i]);
 }

 printf("/n");
 system("pause");
}

数据结构填空题 1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、 15、 16、 17、 18、 19、 20、 21、 22、 23、 24、 25、 26、 27、 28、 29、 30、 31、 32、 33、 34、 35、 36、 37、 38、 39、 40、 41、 42、 43、 44、 45、 46、 47、 48、 49、 50、 51、 52、 53、 54、 55、 56、 57、 58、 59、 60、 61、 62、 63、 64、 65、 66、 6 阅读详情

相关推荐

华为OJ平台试题 —— 排序:字符统计

字符统计 代码: #include #include /* * 定义一个结构体:字符和字符数目 */ struct CountChar { int c; int count; }; /* 根据结构体里面的数字的大小,对结构体进行排序 */ /* 结构体是可以整体进行搬移排序的 */ void s

Cawen的技术博客 2173

面试题汇总--排序方法

排序方法: 冒泡排序,选择排序,快速排序,插入排序,基数排序,桶排序   1、冒泡排序: * 依次比较相邻的两个数,将小数放在前面,大数放在后面 * 冒泡排序,具有稳定性 * 时间复杂度为O(n^2) public class Main { public static void main(String[] args) { //生成10个随机数 R...

weixin_42078450的博客 365

华为计算机公司的面试题目

比较全面的华为公司面试题目,内有华为招收应届大学毕业生技术支持面试题等等

面试必问的六大排序算法,精心总结

起初是时间复杂度为O(n2)级的三种排序算法: 一、冒泡排序 一边比较一边向后两两交换,将最大值/最小值,冒泡到最后一位。 public void bubbleSort(int []arr){ for(int i = 0; i < arr.length - 1; i++){ for(int j = 0; j < arr.length - 1 - i; j++){ if(arr[j] > arr[j + 1]){ /

weixin_50924373的博客 2506

华为数据结构笔试题

华为数据结构笔试题解答,题目要求,若干老鼠围成一圈,一只猫绕着这些老鼠转圈,每隔若干只老鼠就吃掉一只,然后继续转,依次循环……求老鼠被吃掉的顺序。

微软、google、华为 等数据结构+算法面试100题首次完整亮相[100题V0.1最终完美珍藏版]

微软等IT公司的经典面试题,涵盖数据结构、算法等方面; 一书在手,进微软、google、华为等IT公司无忧!

2021大厂Java面试真题(六)

2021大厂Java面试真题(六) * * 2021 【华为】面试真题* * : * * 1、Java 常用集合及特点?* * List:ArrayList、LinkedList、Vector、Stack Set:LinkedSet、HashSet、TreeSet Queue->Deque->LinkedList。 Map:HashMap、LinkedHashMap、TreeMap Dictionary->HashTable->Properties。 Vector: 底层数据结构是数

ZJC'博客 696

华为计算机网络面试题 含答案 600多道

华为计算机网络面试题 含答案 600多道

04年华为的一道排序题..

华为应该是几年前的一道排序题目了,不知道转者从那里转来的,给出的解法有点错误,没有考虑到数组越界的问题,并且排序中也不应该出现负数的情况。转帖地址见于http://blog.youkuaiyun.com/upwaker/articles/57731.aspx 华为一道排序题 简单一道排序题,考倒多少读书人! ——从华为一道面试题浅谈计算机专业在校大学生该如何学习专业课程,信心百倍挑战

Schday的专栏 1422

AI Agent核心架构解析:从Tool、Skill到MCP协议的智能体构建实战

在人工智能领域,大语言模型(LLM)赋予了AI自主规划与决策的能力,推动了智能体(Agent)技术的演进。其核心原理在于构建一个具备感知、规划、行动与反思能力的自主系统。这一架构的技术价值在于将AI从被动应答升级为主动执行复杂任务的工作伙伴,显著提升了自动化水平与问题解决效率。应用场景广泛覆盖了市场分析、自动化办公、智能客服与垂直领域集成等。本文聚焦于实现这一能力的关键组件:基础工具(Tool)、组合技能(Skill)与标准化协议(MCP)。其中,Skill通过封装多个Tool形成可复用的高级能力,而MCP

chuannaoxuan4674的博客 321

使用 Simulink + Simscape Electrical 对 级联H桥多电平整流器并网功率分配 进行建模与仿真

摘要:本文详细介绍了基于Simulink对级联H桥(CHB)多电平整流器并网功率分配进行建模的方法。内容包括系统组成、功率分配意义、Simulink建模流程、PWM控制策略实现、功率分配算法设计以及仿真分析。重点阐述了主电路搭建、双环控制结构(外环功率分配+内环电流控制)和载波层叠PWM调制技术,并提供了功率分配算法示例。通过优化参数和控制算法,可提升系统性能。该建模方法为电力电子变换器和新能源并网系统研究提供了有效工具。

amy_mhd的博客 251

2012届华为校园招聘上机考试题目第2题——排序问题

2012届华为校园招聘上机考试题目第2题——排序问题 给定一个数组input[] ,如果数组长度n为奇数,则将数组中最大的元素放到 output[] 数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到 output[] 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。  例如:input[] = {3, 6,

JingWei的专栏 1511

Python 爬虫实战:全球咖啡期货市场数据采集与分析全攻略

通过本项目,我们实现了对全球咖啡期货市场数据的采集、处理和可视化,为市场分析和决策支持提供了数据基础。未来,可以进一步结合机器学习和深度学习技术,对咖啡期货价格进行预测和建模,提高市场分析的准确性和效率。

2201_76125261的博客 395

华为OD机试真题-比赛

题目描述一个有N个选手参加比赛,选手编号为1∽N3≤N≤100,有M(3≤M≤10)个评委对选手进行打分。打分规则为每个评委对选手打分,最高分10分,最低分1分。请计算得分最多的3位选手的编号。如果得分相同,则得分高分值最多的选手排名靠前(10分数量相同,则比较9分的数量,以此类推,用例中不会出现多个选手得分完全相同的情况)。第一行为半角逗号分割的两个正整数,第一个数字表示M3≤M≤10个评委,第二个数字表示N3≤N≤100个选手。第2到M1。

坚定的小辣鸡在努力 1105

2024 全国大学生新质生产力大赛 B:金融违规交易的大数据分析 问题四思路代码

问题四:请分析附件中所有的指标数据,选取合适的指标,建立“金融违规 洗钱交易的预测模型”,并选取合适的训练集和测试集,计算预测模型的准确率。 为了提前识别并预测金融违规洗钱的交易事件,请基于你们团队数据分析的结果, 分别给公安部门和银行机构提出你们的建议。

YOLO 375

OpenClaw 子代理配对失败问题分析与解决方案

OpenClaw子代理配对失败问题分析与解决方案 问题核心在于agent设备权限不足,仅有operator.approvals权限而缺少operator.admin权限,导致子代理启动时形成权限死锁。本文提供三种解决方案: 直接编辑设备配对文件(推荐):修改本地JSON文件,为agent设备添加完整operator.admin权限,操作简单快捷。 标准重新配对流程:删除现有agent设备后重新配对,通过正常审批流程获取完整权限,符合系统安全设计。 修改源码降低权限要求(仅限开发环境):调整子代理代码避免强制

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 149

简单一道排序题,考倒多少读书人!

/*=================================================================== 作者:rerli时间:2003-12-17目的:从华为一道面试题浅谈计算机专业在校大学生该如何学习专业课程,信心百倍挑战就业! =============================================================...

weixin_30338481的博客 112

Simulink中搭建一个包含PID控制的压电陶瓷快反镜模型

这个模型只是一个基本框架,你需要根据实际的系统参数和要求进行调整和优化。希望这些步骤能帮助你在Simulink中搭建所需的模型。

AI的内部世界的博客 474

华为机考题

还挺简单的,可能是岗位简单所致。 时间都不卡,两个水题,一道拓扑排序。

熊猫跳高的部落格 159

DeerFlow 系列教程 第十八篇 | 实战案例三——用 DeerFlow 构建自定义 AI 工作流

在实际业务中,许多复杂的内容生产任务不是单一技能就能覆盖的。需要先调研某个主题的最新信息基于调研结果撰写结构化的文章或报告对报告中的数据进行可视化处理最终输出符合品牌风格的排版文档或演示文稿这些环节涉及不同的领域知识和工具链,单个内置技能无法完全覆盖。组合自定义技能、MCP 外部工具和多 Agent 协作,构建端到端的工作流。传统手工流程: DeerFlow 自定义工作流:搜索资料、阅读文献 用户描述需求│ │▼ ▼。

weixin_43674738的博客 204

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

笔试面试算法题解之华为-成绩排序

笔试面试算法题解之华为-成绩排序 题目描述 用一维数组存储学号和成绩,然后,按成绩排序输出。 输入描述 输入第一行包括一个整数N(1<=N<=100),代表学生的个数。接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和成绩。 输出描述 按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来。如果学生的成绩相同,则按照学号的大小进行从小到大排序 思路剖析: 先进...

dijixiao5919的博客 408

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

华为机测题

华为机测题 华为机测题: 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性 他先用计算机生成了N个1~1000之间的随机整数(N<=1000) ,N是用户输入的,对于 其中重复的数字,只保留一个,把其余相同的数字去掉, 不同的数对应着不同的学生的学号, 然后再把这些 数从小到大排序,按照排好的顺序去找同学做调查, 请你协助明明完成“去重”与排序工作 sorted() impo...

Leslie_qlh的博客 912

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

华为OD机考E卷100分题 - 磁盘容量排序

(长度大于2,小于30),表示磁盘的容量,由一个或多个格式为mv的子串组成,其中 m 表示容量大小,v 表示容量单位,例如:20M,1T,30G,10G6T,3M12G9M。注意单位可以重复出现,上述 3M12G9M 表示的容量即为:3M+12G+9M,和 12M12G 相等。(太字节)表示,它们之间的换算关系为:1T = 1024G,1G = 1024M。1G和1024M容量相等,稳定排序要求保留它们原来的相对位置,故1G在1024M之前。输出 n 行,表示 n 块磁盘容量排序后的结果。

left_freckle的专栏 1038

29.集合练习---随机数去重排序(华为测试题)

练习: 华为机测题: 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性 他先用计算机生成了N个1~1000之间的随机整数(N<=1000),N是用户输入的, 对于其中重复的数字,只保留一个,把其余相同的数字去掉,不同的数对应 着不同的学生的学号,然后再把这些数从小到大排序,按照排好的顺序去找同学做调查,请你协助明明完成 “去重”与排序工作 代码如下: import random ...

我要变蘑菇了_o的博客 836
上一篇: const用法小结(原创)
下一篇: 华为2004年招收应届大学毕业生技术支持面试题。
upwaker
博客等级 码龄22年 33粉丝 76原创
评论 13
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值