剑指offer 面试题46. 把数字翻译成字符串(中) 1、要能够分析出递归的表达式是解决这个问题的前提。 2、将递归问题转化为循环形式的动态规划问题,减少重叠子问题的计算。 2020-05-13 剑指offer 动态规划
剑指offer 面试题45. 把数组排成最小的数(中) 考查应聘者解决大数问题的能力。应聘者在面试的时候要意识到,把两个int型的整数拼接起来得到的数字可能会超出int型数字能够表达的范围,从而导致数字溢出。我们可以用字符串表示数字,这样就能简捷地解决大数问题。另外,面试官可能要求面试者将比较规则证明出来。 2020-05-12 剑指offer 排序算法
剑指offer 面试题44. 数字序列中某一位的数字(中)& LeetCode 400. 第N个数字(中) 考查应聘者面对复杂问题的思维能力。应聘者需要有严密的数学思维能力,并且还要通过分析具体例子一步步找到通用的规律,才能想出好的算法。这些能力在实际工作中面对复杂问题的时候都非常有用。 2020-05-12 LeetCode 剑指offer 数学
剑指offer 面试题43. 1~n整数中1出现的次数(中)& LeetCode 233. 数字 1 的个数(难) 考查应聘者面对复杂问题的思维能力。要想找到时间复杂度为 \(O(logn)\) 的方法,应聘者需要有严密的数学思维能力,并且还要通过分析具体例子一步步找到通用的规律。这些能力在实际工作中面对复杂问题的时候都非常有用。 2020-05-12 LeetCode 剑指offer 数学
剑指offer 面试题41. 数据流中的中位数(难)& LeetCode 295. 数据流的中位数(难) 由于数据是从一个数据流中读出来的,因而数据的数目随着时间的变化而增加。如果用一个数据容器来保存从流中读出来的数据,则当有新的数据从流中读出来时,这些数据就插入数据容器。这个数据容器用什么数据结构定义最合适呢?这个题的本质就是在探讨,用哪一种数据结构保存数据流时间复杂度最小。 2020-05-11 LeetCode 剑指offer 图与堆