- 主题:求教个问题,四个整数的数组去重
比如:
[0]: {1,2,3,4}
[1]: {4,6,7,8}
[2]: {3,2,4,1} <- 和 [0] 重复,需要去掉。
我想着用hash值去重,但是没找到合适的方式呢。
哪位兄弟有简单的办法?
--
FROM 223.104.41.*
我用2,2,2,2试了,hashcode都不一样
【 在 iwannabe 的大作中提到: 】
: 先排序,在加到set
:
--
FROM 120.244.234.*
不能精确判断啊
【 在 woshidashu 的大作中提到: 】
: hash可以用数组元素之和、之积、平方和 组成,找出重复的再判断下?
--
FROM 120.244.234.*
要是先算个hash如果一样再挨个比值呢
【 在 woshidashu 的大作中提到: 】
: hash可以用数组元素之和、之积、平方和 组成,找出重复的再判断下?
--
FROM 120.244.234.*
有请明示:怎么用字典树
【 在 galaxy123 的大作中提到: 】
: 排序 trie
--
FROM 120.244.234.*
赞
我试试
【 在 galaxy123 的大作中提到: 】
: 1. 先给四个数排序
: 2. 排序后挨个数组建立字典树。 每处理一个新数组时,如果现有字典树里已有该数组,则它是重复的,忽略。现有字典树里没有该数组时,把这个数组加入字典树,以备将来查询。
: 优化1: 如果四个数字取值范围很小,可以直接列出所有排列组合,比hash更快。 比如每个数都是0-9取值,那四个数排序后也就1万种可能。 直接申请个10000的hash数组记录已发现的数据就行。
: ...................
--
FROM 120.244.234.*
真牛b
【 在 z8j 的大作中提到: 】
: 哥们,你这样的问题是ChatGPT最擅长的,几秒内就搞定,还带测试用例,要是不对就自己改进一下吧,或者Let's think step by step一下
: Here's an example implementation of a Java method that takes a list of arrays as input, removes duplicate arrays and returns the updated list:
: java
: ...................
--
FROM 223.104.41.*
真NB
【 在 xWvxYWYxvWx 的大作中提到: 】
: 所以我一直推荐用 Scala 来写业务代码,
: 不值得把时间花在这些没有太大意义的琐屑上。
: $ amm
: ...................
--
FROM 223.104.41.*
挺奇怪的,我用HashSet没法滤掉重复。
换成HashMap就好了。
【 在 z8j 的大作中提到: 】
: 哥们,你这样的问题是ChatGPT最擅长的,几秒内就搞定,还带测试用例,要是不对就自己改进一下吧,或者Let's think step by step一下
: Here's an example implementation of a Java method that takes a list of arrays as input, removes duplicate arrays and returns the updated list:
: java
: ...................
--
FROM 223.104.40.*
听你的试了一下,又没问题了。
可能当时还是哪写的不对。
【 在 blueboats 的大作中提到: 】
: 你得把你的代码贴上来才有意义,HashSet和HashMap的实现本质上是一样的。
: 挺奇怪的,我用HashSet没法滤掉重复。
: 换成HashMap就好了。
: ...................
--
FROM 223.104.40.*