| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6618 人关注过本帖
标题:[讨论][开源]08校园招聘华为笔试题
只看楼主 加入收藏
xiao_2008
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-4-22
收藏
 问题点数:0 回复次数:14 
[讨论][开源]08校园招聘华为笔试题

如何在只编历一次单连表的情况下,知道该连表的中间位置,编写算法,该算法任何情况下通用
(这是我昨天晚上在华中科技大学华为笔试的最后一道编程题目,没有做出来,请教各位高手

共两道,
第一道是猫吃老鼠的,估计大家都做过)
眼看身边都是硕士,就我一小本参加,真是凶多及少啊,眼看没有戏了哦,但是"华为"的笔试题目都比昨天"群硕"的简单,

群硕题目大概如下:
笔试分为两个部分,第一部分三十分钟,主要是一些逻辑题目,只要头脑清醒,应该没有什么问题。
第二部分是技术笔试。主要是C/C++和JAVA的题目。
第一题:找出一个二进制数中1的个数(C语言)
第二题:找出一亿个数中最大的前10000个。
第三题:是一个关于赛跑用的电子起跑器的测试方法
第四题:是一个软件测试的题目,程序是判断一个字符串是否为数字,对这个程序进    行测试。
第五题:是一个c++中类的理解,给了几给类,是多重继承的多重继承的缺点,并且要你重新设计类改正其缺点。


华为笔试题目:
两道编程,其他都是基础(数据库,操作系统,网络基础,数据结构)可选两份卷子之一,c或者java

[此贴子已经被作者于2007-11-5 16:11:17编辑过]

搜索更多相关主题的帖子: 华为笔试 招聘 华中科技大学 校园 开源 
2007-11-05 16:01
万兽无缰
Rank: 1
等 级:新手上路
威 望:1
帖 子:296
专家分:0
注 册:2007-8-27
收藏
得分:0 
呵呵,也没什么大不了的,相信斑竹们都会做
大家加油!!!

女朋友问我想怎么死~~~
             我说我想"爽死"
2007-11-05 16:30
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 

定义两个节点的指针,p1向后遍历,p1每移动两个节点,p2向后移动一个节点,这样应该可以吧


从BFS(Breadth First Study)到DFS(Depth First Study)
2007-11-05 16:47
chmlqw
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2007-10-11
收藏
得分:0 

用两个指针P,Q,
P=HEAD; Q= HEAD;
每当Q走两步,P就走一步
如果Q=NULL的时候,就输出P
不知道这个算不算只遍历一次....

2007-11-05 16:52
chmlqw
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2007-10-11
收藏
得分:0 
以下是引用永夜的极光在2007-11-5 16:47:37的发言:

定义两个节点的指针,p1向后遍历,p1每移动两个节点,p2向后移动一个节点,这样应该可以吧

晕,居然和我想的一样哦

2007-11-05 16:53
crazyboy216
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-6-28
收藏
得分:0 

楼上的两位明显不止遍历一次啊!!
我觉得用一个指针数组来当索引,指针数组每个元数指向接点(指针数组的第一个元数指向第一个接点,第二个指向第2个结点,依此类推),找数组的中间元数应该就很好找了.........

2007-11-05 17:57
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
回复:(crazyboy216)楼上的两位明显不止遍历一次啊!...
你的数组要定义多长呢?

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-11-05 18:03
crazyboy216
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-6-28
收藏
得分:0 

对,这也是我有点担心的地方,但至少合题意!!!看大家还有什么好的想法没

2007-11-05 18:10
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

我的第一想法就是如果空间没有限制的话
用指针数组保存每次遍历得到的结点地址并且记数.当遍历完之后,用下标在数组找中间位置的指针.


倚天照海花无数,流水高山心自知。
2007-11-05 18:50
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

还想到一个,就是每遍历一个结点就去判断计数器是否为2的倍数,不是的话就更新要存储的当前中间结点(初始化为head)(只要走->next)就可以了,否则保持.
这样一遍下来,里面存储的就是中间结点了.

假设有13(当然一开始是不知道的)个结点,过程如下
当前遍历结点数 保存的地址(用下标代替)
1 1
2 1
3 2
4 2
5 3
6 3
... ...
13 7

倚天照海花无数,流水高山心自知。
2007-11-05 18:57
快速回复:[讨论][开源]08校园招聘华为笔试题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012409 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved