社区
Linux/Unix社区
帖子详情
大家练练算法吧..>@
roadingyh
2007-08-15 05:28:48
数组a[N],存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字.时间复杂度必须为o(N)函数原型:
int do_dup(int a[],int N)
...全文
140
4
打赏
收藏
大家练练算法吧..>@
数组a[N],存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字.时间复杂度必须为o(N)函数原型: int do_dup(int a[],int N)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
roadingyh
2007-08-21
打赏
举报
回复
top
hzcpig
2007-08-15
打赏
举报
回复
以上对空间的需求可以进行优化。
从一个空间对应一个整形变量可以优化为一个空间对应一bit
分配一个足够大的空间,用bit读取,第N bit表示N这个空间序号对应的数n出现过的次数。
线性扫描,如果N bit为0,赋为1,如果为1,表示已经出现过,判定重复。
hzcpig
2007-08-15
打赏
举报
回复
o(N)的时间必然以巨大的空间消耗为代价。
分配一个足够大的空间,对空间与数之间进行匹配,这个匹配取决于数的取值范围。
如果输入的数是0-65535之间的整数,那么只要65536个空间,分别记录这65535个数出现的次数,线性扫描,将当前数的关联空间加一,如果为2,则表示出现重复。
如果输入的数是0-65535之间的小数,有效数字1位,那么需要65535*10个空间,空间标号与数的匹配函数就是 f(x) = x * 10....
依此类推.......如果允许分配的空间足够大,就可以在o(N)时间内完成该需求。
roadingyh
2007-08-15
打赏
举报
回复
转自C/C++版...
C
算法
大集合.chm
算法
才是一个程序的灵魂!C
算法
大集合,可以用来
练练
手。
编程
算法
练习--没事的时候
练练
练习一下,
算法
不管什么时候都是非常重要的吧!呵呵,没事的时候做做也是很有意思的!!
数据结构与
算法
考试相关.rar
里面含有09-16年考研的部分习题,还有工大期末考试数据结构与
算法
的5年考题及其答案,另外还有一个用来熟悉各个章节具体编程问题的几十个练习题(老师还说请勿上传),其实也没涉及考试,就是
练练
手,所以资源也就...
leetcode-training:
练练
算法
练练
算法
跟着大哥练: 坚持每天一道~
连连看
算法
相关介绍网摘
连连看的路径
算法
介绍 最短路径
算法
网摘
Linux/Unix社区
18,773
社区成员
11,463
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 专题技术讨论区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章