|
|
1
135
在鼻子上回答..
编辑以切换
一种更快(极限)的方式这是一种基于哈希的方法。你得为自动氧化买单,但它是O(N)而不是O(N) 二 )一个有进取心的人会找到一个基于int的原始散列集(apache或google集合中就有这样的东西,我认为)。
向HuyLe鞠躬见 HuyLe's answer 对于或多或少的O(N)解决方案,我认为需要几个附加步骤:
或者只是为了紧凑
这有关系吗?嗯,所以我做了一个小基准测试,这在所有地方都是不确定的,但代码如下:
ncReal:
和HashSet
和BitSet
比特集赢了!
但只有一根头发….15毫秒在误差范围内
你不会经常出错的。 |
|
|
2
13
让我们看看您的算法是如何工作的:
更好的算法:
|
|
|
3
12
您可以使用位图来提高大数组的性能。
最新消息:这是我今天的一个非常疏忽的回答,把它放在这里仅供参考。你应该参考安徒生的优秀作品 answer . |
|
|
4
4
要检查重复项,需要比较 不同的 对。 |
|
|
5
2
因为您正在将数组的第一个元素与自身进行比较,这样它会发现即使没有重复的元素,也会有重复的元素。 |
|
|
6
2
初始化k=j+1。您不会将元素与它们自己进行比较,也不会重复比较。例如,j=0,k=1和k=0,j=1比较同一组元素。这将删除k=0,j=1的比较。 |
|
|
7
1
不要使用
试试这个(iirc,zipcode需要实现
|
|
|
8
1
您也可以使用SET,它不允许在Java中重复。
使用add()方法并检查返回值。如果add()返回false,则表示集合中不允许元素,这是您的副本。 |
|
9
1
|
|
|
10
0
用这个方法怎么样?
|
|
|
11
0
@Andersoj给出了一个很好的答案,但我也希望添加新的简单方法
如果zipcodelist为int[],则需要首先将int[]转换为integer[](不是自动装箱),代码 here 完整代码为:
希望这有帮助! |
|
12
0
打印所有重复的元素。 输出- 1 当找不到重复元素时。
|
|
13
0
|
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |
|
|
Geremia · 2D NumPy数组+1D数组? 1 年前 |
|
|
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 1 年前 |
|
|
Paul Williams · 迭代数组时输出有问题 1 年前 |