易截截图软件、单文件、免安装、纯绿色、仅160KB

一道C面试题

有16匹马,共3个跑道,找出其中跑的最快的4匹马出来,设计算法。


没听懂什么意思.


我的思路:

从16匹马中,先任选3匹比赛,淘汰最慢的二匹,再从剩下的14匹马中任选3匹比赛,递归,得出最快的前4匹。


时间复杂度,应该是O NlogN

可以用败者树或者堆做吧

就是16个数中取最小的4个数一个道理
如果这个16换成1亿,这个题目看起来就有意思多了

....

所有马都跑一遍

计时

1 给每匹马建立一个集合,集合中包含比这匹马快的马,初始时,所有集合都是空集
2 如果剩下的马是4匹,结束
3 删除所有集合元素个数>=4的马
4 找集合元素个数最小的3匹马出来比赛(元素个数相同的可以任选)
5 根据比赛结果,调整所有集合
6 从2开始继续做

这个方法算不上好,不过还算简单,实现起来也方便

设一个数组arr[3]分别表示3条跑道,每次找两匹马上来跑,跑的最快的存入arr[0]中,再找两匹马来跑,这两匹马中跑的快的和arr[0]中的马比较,跑的快的放在arr[0]中,如此遍历16匹马,arr[0]中的就是最快的马,然后再在剩下的15匹马中用同样的方法找出最快的,......直到找出最快的4匹马


相关问答:

C/C++版务贴-200910

请根据版规进行版务登记,提高版务透明度

本贴禁止灌水、广告,一经发现,一律删除,关小黑屋

如对版务有建议或者意见,可以在本贴中进行反馈


附:
C/C++版务贴-200907:http://top ......

关于the c program 的一道题!

编写程序detab, 将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止的地方。假设制表符终止位的位置是固定的,比如每隔n列就会出现一个制表符终止位。
------------------- ......

新人求教:单机项目转C/S的疑惑

我在培训学校学习,前段时间学完J2SE后和同学一起做了个企业进销存管理系统(单机版)作为项目答辩的项目。
完成后,我们开始教ASP.NET。我用业余时间想把这个系统改成C/S架构的。
用网络通信和多线程的知识写 ......

管道中输入Ctrl+C的问题求教

我在程序中用CreatePipe创建了一个管道,用它和命令行cmd.exe来关联。

现在我WriteFile来向管道写入 ping 192.168.0.1 -t 来启动ping测试,请问我如何停止这个ping? 我想向管道内写

Ctrl+C来实现,但 ......

诚聘C/C++开发工程师(深圳)

由于公司发展需要,在此真诚寻找开发人员,要求如下:
岗位职责:

1、核心代码编写;
2、确保软件产品的质量;

岗位要求:
1、熟悉C及C++程序设计,熟悉汇编语言,熟悉C/C++标准库。
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号