发布时间:2023-08-07 19:30
每日一题做题记录,参考官方和三叶的题解 |
class Solution {
public int consecutiveNumbersSum(int n) {
int res = 0;
n *= 2;
for(int k = 1; k * k < n; k++) {
if(n % k != 0)
continue;
if((n / k - (k - 1)) % 2 == 0)
res++;
}
return res;
}
}
class Solution {
public:
int consecutiveNumbersSum(int n) {
int res = 0;
n *= 2;
for(int k = 1; k * k < n; k++) {
if(n % k != 0)
continue;
if((n / k - (k - 1)) % 2 == 0)
res++;
}
return res;
}
};
- 1个数时,必然有一个数可构成N
- 2个数若要构成N,第2个数与第1个数差为1,N减掉这个1能整除2则能由商与商+1构成N
- 3个数若要构成N,第2个数与第1个数差为1,第3个数与第1个数的差为2,N减掉1再减掉2能整除3则能由商、商+1与商+2构成N
- 以此类推,当商即第1个数小于等于0时结束
impl Solution {
pub fn consecutive_numbers_sum(n: i32) -> i32 {
let mut res = 0;
let mut k = 1;
let mut n = n;
while n > 0 {
n -= k;
if n % k == 0 {
res += 1;
}
k += 1;
}
res
}
}
数学理论分析更重要的题。
欢迎指正与讨论! |
MonoJSG:联合语义和几何代价函数的单目3D目标检测(CVPR2022)
python内置变量__name___一文搞懂python内置变量__name__ __doc__ 正确理解if __name__ == '__main__' 看这篇就够了...
视频图像识别——基于ZU3EG的低功耗高性能嵌入式AI计算模组
从华为云到米家APP,智能家居行业如何突破发展?智能家居未来发展方向(下)
各种机器学习算法分类器,线性回归——Python代码(KNN,MLP,SVM,随机森林,RF,GBDT)
35.JavaScript对象和数组的解构赋值基础详解、let陷阱、函数参数解构