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用于商品计数映射,加上映射消耗额外空间)