pdd笔试第四题ac思路
没怎么看到有人分享第四题解法,那我说说我的吧。
输入n,m。则最大值为nm。下一个值只会为(n-1)*m或n(m-1)。这时候容易想到一个思路就是把(n-1)m 和 n(m-1)都加到堆中。如下所示就是把一个数的上方和左方的数加到堆中,但这样有一个重复添加的问题,如位于(1,2)处的6会被8和9都加到堆中。那么如何解决这个问题呢?
1 2 3 4
2 4 6 8
3 6 9 12
思路很简单。当从堆中取出一个数后,将其上方的数加入堆,当该数是最后一行的数时,将其左侧的数到堆中。然后继续从堆顶取数,直到取到第k个。
已AC。
#笔试题目##拼多多#
腾讯成长空间 5849人发布