本文是深入理解数学计算问题的第2篇。严格来说,我其实很难将这些LeetCode问题归结为某一普遍类型的题目。它们确实涉及到一些数学算法,但更具体地讲,每道题目又各自为政——也就是说,不存在某种普遍的算法可以用来解决下面这些问题。如果你不知道、不了解具体问题的具体算法,下面的任何一个问题都可能在面试的时候把你难倒。我把符合这种特点的题目搜罗到这篇文章中,希望给它们来个一网打尽(如果日后再遇到这样的题目,我也会不断更新该文)。
题目31:Next Permutation
Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers. If such an arrangement is not possible, it must rearrange it as the lowest possible order (i.e., sorted in ascending order). The replacement must be in place and use only constant extra memory.