我目前正在处理一项必须优化一些代码的作业。最慢的方法之一是在列表中查找重复元素的方法。
场景中的重复项是这样工作的:假设您有一个元素列表,每个元素都有两个 ID,x 和 y。每个 x 值只能与一个 y 值配对,否则将其视为重复值,并且必须将原始值和重复值都添加到列表中。
例如,元素列表是 (1,2) (1,2) (1,3) 在这种情况下,重复列表将包含 4 个元素,(1,2)(1,3) 和 (1, 2)( 1,3),因为它们都具有相同的 x 值,但具有不同的 y 值。(1,2)(1,2) 不会被归类为重复项,因为 x 和 y 值相同。
当前代码使用嵌套的 for 循环,它检查两个元素的 x 值是否相等但 y 值不同,但这很慢。
在实际场景中,要素是供肾者与患者相匹配。所以每个捐赠者只能捐赠给一个病人。X 和 Y 是表示患者和捐赠者 ID 的字符串。
如果有人知道这样做的更快方法,将不胜感激:)
繁华开满天机
GCT1015
蓝山帝景
相关分类