3

如何使用数据结构解决以下问题?

3^i * 5^J * 7^k 其中 i,j,k >=0。找到这个系列中第 10, 000 个最小的数字。

我通过以下方式使用集合解决了它,我觉得这不是一个有效的解决方案:

  • 初始集是 (1)
  • 将集合的每个元素乘以数字 3,5 和 7 以获得下一个集合。
  • 与前一组联合。
  • 如果集合的大小大于或等于10,000,则停止乘法过程并按升序对集合进行排序。
  • 集合的第 10,000 个元素将是第 10,000 个最小的数字。

有没有其他数据结构可以更有效地解决这个问题?

4

0 回答 0