111升学论坛

 找回密码
 加入家园
专业、学校怎么选?免费公益咨询解答开通学校版块微信:543646没考上高中怎么办,不要慌!
热门:大连报关学校招生网增加印象分,实用新型专利包过申请发明专利申请并不难,代写全部材料,轻松申请!
12
返回列表 发新帖
楼主: 心绝c

面试官:如何迅速找出数组中重复的数字?

[复制链接]

8

主题

114

回帖

386

积分

中级会员

Rank: 3Rank: 3

积分
386
发表于 2021-2-17 22:04:33 | 显示全部楼层
集群智慧云科服发明专利申请
下面有大哥说100万行怎么办?用个取巧的方法,数据写入数据库,读出的时候使用降序或者升序,不再使用n-1的循环(浪费资源)使用while判断循环语句。
回复

使用道具 举报

23

主题

48

回帖

226

积分

中级会员

Rank: 3Rank: 3

积分
226
发表于 2021-2-17 22:08:50 | 显示全部楼层
O(N)的实现方法是创造一个freq(n)的vector,开始都是-1 先跑一遍input 算出freq 在跑的时候某个地方是等于0的话就可以返回了
回复

使用道具 举报

24

主题

53

回帖

243

积分

中级会员

Rank: 3Rank: 3

积分
243
发表于 2021-2-17 22:13:07 | 显示全部楼层
你搞的太复杂了,hashset判重就可以
回复

使用道具 举报

38

主题

74

回帖

336

积分

中级会员

Rank: 3Rank: 3

积分
336
发表于 2021-2-17 22:17:24 | 显示全部楼层
不排序,直接读取数字放map,数字当key,出现次数当value,都不需要完整遍历就能拿到重复球
回复

使用道具 举报

36

主题

78

回帖

378

积分

中级会员

Rank: 3Rank: 3

积分
378
发表于 2021-2-17 22:21:41 | 显示全部楼层
如果数组长度100万个,那么这个双重循环的效率非常低,用hashset更快些!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入家园

本版积分规则

QQ|Archiver|手机版|小黑屋|111升学论坛

GMT+8, 2024-9-20 05:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表