编程之美
小胡同的诗
千里之行,始于足下
展开
-
编程之美--只考加法的面试题(尺取法)
问题: 对于一个任意的自然数,问是否能将其拆分成2个或2个以上的连续自然数之和,写出所有的等式。 解题思路: 第一种解法是推导出数学公式,因为连续的自然数可以用等差数列Sn求和公式,判断可行性。公式推导以及证明过程:数学解法; 第二种解法是直接穷举解法,不过对于较大的数字复杂度O(n^2)可能不够解决,由于连续的自然数一定是递增状态,我们可以用尺取法,也就是双指针法将复杂度降低到O(n) 双指针解...原创 2019-01-14 12:47:22 · 221 阅读 · 0 评论 -
和为S的连续序列(双指针、滑动窗口)
链接:和为S的连续序列 题目详情: 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 分析: 很容易...原创 2019-08-02 16:31:18 · 122 阅读 · 2 评论