对于给定的商品X和购物记录数组,编写代码以找出主要由购买商品X的顾客购买的商品(商品Y)

时间:2012-10-10 02:39:52

标签: 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应该是项目3。

1 个答案:

答案 0 :(得分:0)

一种方法可以迭代2D数组并找到购买item1的人的列表(或有效查找的地图)。
然后通过在此循环中再次迭代数组来创建itemName和purchaseCount的映射在地图中为在item1买家列表中出现的人。
现在再次遍历地图并找到所需的项目 对于N * 2阵列,此方法需要3N迭代,并且需要高达3N的空间(N为买方列表,N * 2为项目计数地图,加上地图消耗额外空间)