| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 395 人关注过本帖
标题:请大家看看这个程序怎么实现
取消只看楼主 加入收藏
wuxianyi
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-2-10
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:2 
请大家看看这个程序怎么实现
昨天参加H3C的最后一轮面试,问了一道编程题,当时没有弄出来,现在给大家看看
题目:有一个大小是1000的数组,赋值是从0~999。现在开始删除,从第一个元素开始,每隔两个删除一个数(比如第一个删0,然后删3,接着是6,以此类推),当删除到最后的时候,再调回头去删除未被删除的元素,还是按原来的规则隔两个删除一次。不断的回头,不断的删除。问题时最后会剩几个数,数分别是多少?编程实现,要求一轮删除完就显示删除的数,再进行下一轮,再显示删除的数,不断的往复,直到显示到最后不能删除为止。
不知道我描述清楚了没有,我想见过这个题目的应该可以搞定,如果第一次见,要在10分钟内搞定,恐怕要一定的实力。当时和我一起进第三面的一共7个人,只有1个人弄出来了(那个人的确很NB)。大家试试吧!!!
2010-05-24 19:26
wuxianyi
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-2-10
收藏
得分:0 
回复 2楼 lzjpc500
嗯。差不多,意思你是明白了,但是没有详细的按面试官的要求。这是一个约瑟夫环的问题,大部分用的都是循环链表,
意思就是这个意思
2010-05-24 21:57
wuxianyi
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-2-10
收藏
得分:0 
回复 2楼 lzjpc500
不好意思,我仔细研究了一下你的程序,好像有点问题。和我要的有出入。
我想声明的是我的问题和约瑟夫环不是很一样,他的出列要求是固定的(每隔两个删一次),而且这不是一个环状链表,是一个数组,在一遍删除结束以后要进行第二遍,这个第二遍就是回到开头的那个未被删除的数字。而且数组的初始化已经完成,是从0~999,您需要从0,3,6,9....到最后999
再回到开头的未被删除的1,5,10...要求是每删除一个就打印一个数,最后剩的就是未被选中的。
楼上再试试。
2010-05-24 22:18
快速回复:请大家看看这个程序怎么实现
数据加载中...
 
   



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

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