【发布时间】:2018-11-02 03:14:29
【问题描述】:
我有一个问题,我很难解释,所以我会用很多例子来帮助大家理解,看看你是否能帮助我。
假设我有两个列表,其中包含两个人从最好到最差的书名。用户1评价lstA,用户2评价lstB
lstA = ['Harry Potter','1984','50 Shades','Dracula']
lstB = ['50 Shades','Dracula','1984','Harry Potter']
用户一认为“哈利波特”比“德古拉”好(HP为索引0,德古拉为索引3)
用户二认为“哈利波特”比德古拉差,(HP是索引3,德古拉是索引1)
在这种情况下,返回一个元组('Harry Potter', 'Dracula') [('Dracula', 'Harry Potter')也可以]
用户 1 的“50 种色调”也比“Dracula”好,用户 2 的“50 种色调”也比“Dracula”好(指数分别为 2、3 和 0、1)。在这种情况下,什么都不会发生。
程序的最终结果应该返回一个元组列表,
[('Harry Potter','50 Shades'), ('Harry Potter','Dracula'), ('Harry Potter','1984'), ('1984', '50 Shades'), ('1984','Dracula')]
有人可以帮我指出正确的方向,以提出一种给出所有元组的算法吗?
【问题讨论】:
-
你可能想看看这个链接geeksforgeeks.org/counting-inversions它正是你想要的。
-
您可能需要考虑通过单击旁边的绿色复选标记来选择答案。这会将您的问题从未回答的队列中删除。
-
您似乎有不选择答案的习惯。您选择的每个答案都会获得一些声誉,并且您的问题将为未来的读者提供一个规范的答案。请选择对您有帮助的答案。