网易云音乐经常推荐重复的歌曲,还有我习惯听其他用户的歌单。因此就有了去重的需求。
下面是我的方法,不知道对错,想自己想的话别继续看了:
将所有听过的歌曲分别放入不同的歌单,每个歌单固定只保存 7000 首歌曲,除了最后一个不足 7000 的。去重的时候将需要去重的歌单先放入第一个已听歌单,然后看新增数量。然后将开头的新增数量个歌曲再添加到第二个已听歌单,同时删除第一个歌单中新增的歌曲。以此类推,直到最后一个不足 7000 的已听歌单。这时候可能就需要算一下了,因为不是整数。最终最后一个已听歌单中的新增歌曲就是去重后的集合。另外也许可以用指定歌曲作为分割线,这样就不用算了。就是需要手动挪动这个作为分割线的歌曲。然后待去重歌单添加到最后一个已听歌单中的歌曲就留下,如果超过 7000 再新建个歌单。7000 是我瞎定的数,一般的歌单不会超过 3000 首。就算有超过的,可以分成多个 3000 首的歌单,然后分别去重。
还有也许应该想听的歌曲攒多了再执行这套操作。
我只是感觉能行,实际我不敢确定。我让 DeepSeek 看了一下,我感觉它好像被我绕晕了。另外有没有更好的方法?我没搜到。
下面是我的方法,不知道对错,想自己想的话别继续看了:
将所有听过的歌曲分别放入不同的歌单,每个歌单固定只保存 7000 首歌曲,除了最后一个不足 7000 的。去重的时候将需要去重的歌单先放入第一个已听歌单,然后看新增数量。然后将开头的新增数量个歌曲再添加到第二个已听歌单,同时删除第一个歌单中新增的歌曲。以此类推,直到最后一个不足 7000 的已听歌单。这时候可能就需要算一下了,因为不是整数。最终最后一个已听歌单中的新增歌曲就是去重后的集合。另外也许可以用指定歌曲作为分割线,这样就不用算了。就是需要手动挪动这个作为分割线的歌曲。然后待去重歌单添加到最后一个已听歌单中的歌曲就留下,如果超过 7000 再新建个歌单。7000 是我瞎定的数,一般的歌单不会超过 3000 首。就算有超过的,可以分成多个 3000 首的歌单,然后分别去重。
还有也许应该想听的歌曲攒多了再执行这套操作。
我只是感觉能行,实际我不敢确定。我让 DeepSeek 看了一下,我感觉它好像被我绕晕了。另外有没有更好的方法?我没搜到。