1. 题目 2. 解答 字典序排数可以看做是第一层节点分别为 1-9 的十叉树,然后我们在树上找到第 K 小的数字即可.因此,我们需要分别统计以 1-9 为根节点的每个树的节点个数.如果 K 小于当前树的节点个数,那么第 K 小的数字即在当前树中,我们进入子树继续查找:如果 K 大于当前树的节点个数,那么我们需要查找后面树中第 (K - 当前树节点) 小的数字. 其中,比较关键的步骤就是统计树中的节点个数,我们按照逐层统计的方法来进行,详见下图. 首先我们初始化 cur = 1 然后我们让 le
Given a non-negative integer num, repeatedly add all its digits until the result has only one digit. For example: Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 = 2. Since 2 has only one digit, return it. Follow up: Could you do it without an
POJ中有些问题给出了一个长数字序列(即序列中的数字非常多),这个长数字序列的生成有一定的规律,要求求出这个长数字序列中某个位上的数字是多少.这种问题通过分析,找出规律就容易解决. 例如,N!是一个非常大的数,其末尾有很多个0,如何求得其最后一个非零的数字? N!的最后一个非零的数字 [例1]Just the Facts (POJ 1604) Description The expression N!, read as "N factorial," denotes the produc