Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 对于给定的item X和shopping records数组,编写代码以找出购买item X的客户主要购买了哪些(item Y)_Algorithm - Fatal编程技术网

Algorithm 对于给定的item X和shopping records数组,编写代码以找出购买item X的客户主要购买了哪些(item Y)

Algorithm 对于给定的item X和shopping records数组,编写代码以找出购买item X的客户主要购买了哪些(item Y),algorithm,Algorithm,我们有一个表示客户购物记录的数组。 例如,它是这样一个数组: custA, item1, custB, item1, custA, item2, custB, item3, custC, item1, custC, item3, custD, item2, 此数组表示客户A购买的项目1、客户B购买的项目1、客户A购买的项目2、客户B购买的项目3等。。 对于给定的项目X和购物记录数组,编写代码以找出购买项目X的客户主要购买的其他项目(项目Y)。 例如,在上面的示例中,如果X是项1,那么Y应该是项

我们有一个表示客户购物记录的数组。 例如,它是这样一个数组:

custA, item1,
custB, item1,
custA, item2,
custB, item3,
custC, item1,
custC, item3,
custD, item2,
此数组表示客户A购买的项目1、客户B购买的项目1、客户A购买的项目2、客户B购买的项目3等。。 对于给定的项目X和购物记录数组,编写代码以找出购买项目X的客户主要购买的其他项目(项目Y)。
例如,在上面的示例中,如果X是项1,那么Y应该是项3。

一种方法是迭代二维数组并查找列表(或映射以高效查找)购买item1的人员的列表。
然后在此循环中再次迭代数组,创建itemName和purchasedCount的映射。将item1买家列表中的人员的条目放入映射中。
现在再次迭代地图并找到所需的项目。
对于N*2数组,这种方法需要3N次迭代,最多需要3N个空间(N用于买家列表,N*2用于商品计数映射,加上映射消耗额外空间)