2012-10-10 34 views
1

我們有一個代表顧客購物記錄的數組。 例如,它是一個這樣的數組:對於給定的商品X和購物記錄數組,請編寫代碼以查明購買商品X的客戶主要購買了哪些商品(商品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

回答

0

好一種方法可以遍歷二維數組,並找到購買item1的人的列表(或有效查找的地圖)。
然後通過在此週期中再次遍歷數組來創建itemName和purchasedCount的映射,將地圖中的條目放入item1買家列表中的人員。
現在再次遍歷地圖並找到所需的項目。
爲N * 2陣列這種方法需要3N迭代,並要求高達3N空間(N爲買家名單,以及N * 2項目計數的地圖,再加上地圖佔用額外的空間)

+0

感謝!您的答案似乎是工作 – user1733473

相關問題