华为2012校园招聘上机试题解析:数组比较与约瑟夫问题
5星 · 超过95%的资源 需积分: 9 22 浏览量
更新于2024-09-12
收藏 73KB DOC 举报
本资源是一份针对2012年华为校园招聘上机考试的试题及其答案,主要涉及两个部分:数组比较和约瑟夫问题。
1. **数组比较** (20分)
- 问题描述:编写一个名为`array_compare`的函数,接受四个参数:两个整数(数组长度`len1`和`len2`)和两个整数数组`array1[]`和`array2[]`。函数需要从数组末尾开始逐个向前比较元素,若两个数组长度不同,则只比较较短数组的元素个数。返回的是不相等元素的个数。
- 示例:
- 输入:`array1` = [1, 3, 5], `len1` = 3, `array2` = [77, 21, 1, 3, 5], `len2` = 5,返回0,因为所有元素都相等。
- 输入:`array1` = [1, 3, 5], `len1` = 3, `array2` = [77, 21, 1, 3, 5, 7],返回3,因为有三个元素(77, 5, 7)不相等。
2. **约瑟夫问题**
- 问题描述:给定一个包含随机正整数的数列和初始计数器`m`,按照特定规则进行计数和移除元素。从数列的第一个位置开始,计数到`m`后将当前位置的数替换为`m`,并将该数移除,接着从下一个位置重新开始计数。当数列所有元素都被处理过或计数达到末尾时,返回到数列的第一个位置继续计数。最后输出移除的数字顺序。
- 要求实现函数:`void array_iterate`,接收四个参数:整数数组`list[]`、其长度`length`、初始计数值`m`和一个整型指针(用于记录当前计数位置)。
这两个问题考察了应聘者的编程基础、数据结构理解和逻辑分析能力,特别是数组操作和循环控制的运用。解决这类问题需要清晰的算法设计思路,如采用双指针遍历数组、动态更新计数器等技巧。通过这份试题,华为旨在评估候选人在实际编程任务中的解决问题的能力以及对细节的把控。
点击了解资源详情
点击了解资源详情
点击了解资源详情
103 浏览量
2014-06-28 上传
2013-12-04 上传
2014-06-07 上传
iloveowhlg126
- 粉丝: 0
- 资源: 5
最新资源
- 时间触发打开画面.zip昆仑通态触摸屏案例编程源码资料下载
- 行业数据-20年7月份快手短视频用户地域分布.rar
- Class:Class.js - 一种使用 Javascript 创建类的简单方法
- codeChallenges:小婴儿的编码挑战
- Phonesky:非正式的Google PlayStore客户端
- 使用Arduino Nano和Adafruit NeoPixel Matrix的数字计分器-电路方案
- 行业数据-20年9月份中国消费者购买饰品线上渠道分布情况.rar
- 点文件
- 行业数据-20年6月份中国主流视频平台月份活跃用户数.rar
- 进口NROS
- 汽车音响-项目开发
- ActiveMQ:activeMQ消息封装,主要解决:事务性消息、消息幂等性、异常造成的消息丢失问题 本项目不在更新,新项目请看ReliableMessageSystem
- My-Personal-Website:一个关于我的网站! 将在未来几周内更新
- Android-Test-With-JUnit-Mockito-RoboElectric
- crwn-clothing
- 待办事项