蒙特利尔精英网-新加园

 找回密码
 立即注册
楼主: fundes
打印 上一主题 下一主题

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

[复制链接]
11#
 楼主| 发表于 2021-5-10 20:35:41 | 只看该作者
下面有大哥说100万行怎么办?用个取巧的方法,数据写入数据库,读出的时候使用降序或者升序,不再使用n-1的循环(浪费资源)使用while判断循环语句。
回复

使用道具 举报

12#
 楼主| 发表于 2021-5-10 20:39:58 | 只看该作者
O(N)的实现方法是创造一个freq(n)的vector,开始都是-1 先跑一遍input 算出freq 在跑的时候某个地方是等于0的话就可以返回了
回复

使用道具 举报

13#
 楼主| 发表于 2021-5-10 20:44:15 | 只看该作者
你搞的太复杂了,hashset判重就可以
回复

使用道具 举报

14#
 楼主| 发表于 2021-5-10 20:48:32 | 只看该作者
不排序,直接读取数字放map,数字当key,出现次数当value,都不需要完整遍历就能拿到重复球
回复

使用道具 举报

15#
 楼主| 发表于 2021-5-10 20:52:49 | 只看该作者
如果数组长度100万个,那么这个双重循环的效率非常低,用hashset更快些!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|蒙特利尔精英网-新加园

GMT+8, 2025-12-2 05:54 , Processed in 0.068811 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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