当前位置: 首页> 财经> 访谈 > 公司企业名录大全_网络规划设计师多少分通过_北京官网seo_关键词长尾词优化

公司企业名录大全_网络规划设计师多少分通过_北京官网seo_关键词长尾词优化

时间:2025/8/28 9:49:48来源:https://blog.csdn.net/Sti1lWater/article/details/146608462 浏览次数:0次
公司企业名录大全_网络规划设计师多少分通过_北京官网seo_关键词长尾词优化

1. 题目描述

和为s的连续正数序列



2. 思路

O(N) 数学做法。

  1. 等查求和公式,求根公式: − b ± b ∗ b − 4 ∗ a ∗ c 2 ∗ a \frac{-b \pm \sqrt{b*b - 4*a*c}}{2*a} 2ab±bb4ac
    求根公式在不少题目中的优化做法可能用到,但是需要注意,求根公式有乘法运算,对于数据比较大时,可能会溢出,这一点要格外小心。

O(N) 双指针

1



3. 代码,数学做法

class Solution {
public:vector<vector<int>> findContinuousSequence(int target) {vector<vector<int>> res;for(int i = 1; i < target; i ++ ) {long long k = (long long)target * 2 + (long long)i * i - i;int s = (sqrt(1 + 4 * k) - 1) / 2;if((long long)s * s + s - k == 0) {vector<int> path;for(int j = i; j <= s; j ++ )   path.push_back(j);res.push_back(path);}}return res;}
};/* 等差数列和公式
[a,...,b]
s = (b + a) / 2 * (b - a + 1)
s = (b + a) * (b - a + 1) / 2
b^2 - a^2 + a + b = s * 2
b^2 + b = s*2 +a^2 - a
*/


4. 代码,双指针

class Solution {
public:vector<vector<int>> findContinuousSequence(int target) {int sum = 0;vector<vector<int>> res;for(int i = 1, j = 1; i < target; i ++ ) {while(sum < target) {sum += j;j ++ ;}if(sum == target) {vector<int> path;for(int k = i; k < j; k ++ )    path.emplace_back(k);res.emplace_back(path);}sum -= i;}return res;        }
};
关键字:公司企业名录大全_网络规划设计师多少分通过_北京官网seo_关键词长尾词优化

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: