C#面:如有50万个int类型的数字,现在需要判断⼀下⾥⾯是否存在重复的数字,请简要说⼀下思路

  1. 可以使用 List 集合的方法:Distinct() 或者 GroupBy() 。
  2. 可以使用 Dictionary,Key值唯一性。
  3. 可以使用 HashSet ,它的元素具有唯一性:(但是内存可能会爆)
  4. 新建一个HashSet,不断Add数字,Add只要返回次False就说明有数字重复。
  5. 先排序,再两两比较。

以上仅供参考。

这个问题有很多解决的方法,对于这个提问的出发点有很多不同的看法,个人认为,到底如何回答或者处理,没有标准答案,也许也并不需要。

有的人说这个问题本身就没有意义。

我觉得由一个问题引发的讨论和思考,才是问题本身的价值。

相关推荐
念越12 分钟前
题库、练习与错题本代码阅读
开发语言·数据结构
l1t14 分钟前
几种数据库软件count(distinct)和count()from group by子查询性能测试
开发语言·数据库
熊猫钓鱼>_>23 分钟前
大学图论第 6 讲:网络流与二分图匹配——对偶性让瓶颈自己现形
开发语言·算法·面试·职场和发展·图论·校招·面经
方便面不加香菜23 分钟前
C++ 关于多态的知识点讲解
开发语言·c++
jimy144 分钟前
C++ 类成员函数的内联定义(inline)详解
开发语言·c++
Nebula_g1 小时前
JavaSE高级:动态代理
java·开发语言·算法·javase
Behavior1 小时前
Unity 7.0 Alpha 拆解:编辑器干掉 Mono 换 CoreCLR
c#·unity3d·游戏开发
青春逝如流水1 小时前
Java 线程与操作系统、硬件的关系:状态、映射与差异
java·开发语言·多线程·ai文章
谢亮_vipxieliang1 小时前
Go gRPC基础与实战
开发语言·后端·golang
淡海水1 小时前
02-06-原理篇-增量式GC与并发GC
算法·unity·c#·并发·gc·增量