str={'Tom':'1,2,3','Jack':'1,5,9','Bob':'2','Li':'2,7'}
在Tom的数字中发现有1,那就要把Jack的5,9给Tom;
在Tom的数字中发现有2,那就要把Li的7给Tom,Bob只有一个2,没有其他数字,没法给;
在Tom的数字中发现有3,Jack、Bob、Li都没有3,没法给;
...
最后得出:
str_related={'Tom':'5,9,7','Jack':'2,3','Bob':'1,3,7','Li':'1,3'}
不知道描述清楚没?
真实的情况:人员很多,至少10k,数字至少100k
怎么高效写这段程序?谢谢
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
算法可以归纳为集合运算,可转化为整数的位运算,达到高效目的。 说明如下图:

可以如此拆分
因为不知道你这些参数是不是确定的,所以大概这么写
后续才发现 你要的是php写法,我上面是js写法 ,可以看看思路~~~~
泻药~
python3
set结果:
优化~
先计算一遍,保存有效集合,避免不必要的重复计算。