文章分类 - lintcode
摘要:题目 思路 如果直接累乘查找最后的0是不可取的,不满足时间复杂度。 如果要满足尾部的零,拆开公式肯定是 * 10。 10的话分为 2 * 5,然后把阶乘拆成最小公因式,我们只要计算公式里面有多少个5就可以了 代码
阅读全文
摘要:题目 思路 降级运算,把乘除换成加法。 遇到加减符号的把数字直接push进栈,乘除的话先把栈pop出来进行运算后,再进栈。 然后把数组的全部相加即可。 题目中有点坑爹的地方是没注意 You may assume that the given expression is always valid. 所
阅读全文
摘要:题目 思路 题目的意思是,输入一个整数数组,从左向右开始,计算每一个数右边比这个数小的个数。 第一先想到的肯定是遍历穷举,这样无疑会增加时间复杂度,不可取。 正难则反,如果是从n项的数组最后一项n-1开始算起,结果是0; 计算倒数第二项n-2结果的话,要和n-1比较大小,若N(n-2) >N(n-1
阅读全文
摘要:题目 思路 了解到这是一道博弈题,因为你要知道你拿一个合适还是两个合适。根据题目意思,是两个都是同样很聪明的两个人,知道拿一个还是两个是最优解,唯一区别是顺序--谁先谁后。 那么先分情况: 在n <= 2 时,palyer1 直接拿走2个就是最优解 在n = 3时,player1 先拿2个,留1个给
阅读全文
摘要:用JavaScript比较多,错误之处请指出 题目 思路 这里主要运用动态规划算法来解决问题 动态规划算法:动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解
阅读全文

浙公网安备 33010602011771号