
[LeetCode 周赛181] 2. 四因数(暴力、常规解法)
发布日期:2021-05-12 23:18:46
浏览次数:26
分类:精选文章
本文共 874 字,大约阅读时间需要 2 分钟。
3. 题目解析
方法一:暴力 + 常规解法
暴力计算因数个数,因数是成对出现的,所以不存在同时两个因数都大于当前数的开平方,那么就暴力范围就降至根号当前数了。并且值得注意的一点就是平方数的因数只计算一次即可。先模再除顺序不能颠倒,很容易理解。
C++ 代码示例
// 执行用时 :68 ms, 在所有 C++ 提交中击败了100.00%的用户// 内存消耗 :8.6 MB, 在所有 C++ 提交中击败了100.00%的用户class Solution {public: int sumFourDivisors(std::vector & nums) { int res = 0; for (auto& e : nums) { int cnt = 0, sum = 0; for (int i = 1; i * i <= e; ++i) { if (e % i == 0) { ++cnt, sum += i; if (e / i != i) { ++cnt, sum += e / i; } } } if (cnt == 4) res += sum; } return res; }};
解释如下:
- 该函数遍历输入整数集合
nums
。 - 对于每个整数
e
,初始化计数器cnt
和求和器sum
。 - 从 1 到
e
的平方根,遍历所有可能的除数i
。 - 检查
e
是否能被i
整除。 - 如果能整除,记为一个因数
i
,与e/i
作为另一个因数(若不相等)。 - 统计因数个数
cnt
和因数和sum
。 - 若因数个数为 4,则加到结果中。
- 最终返回总和
res
。
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年05月06日 01时41分53秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
mysql 复杂查询_mysql中复杂查询
2025-04-15
mYSQL 外键约束
2025-04-15
mysql 多个表关联查询查询时间长的问题
2025-04-15
mySQL 多个表求多个count
2025-04-15
mysql 多字段删除重复数据,保留最小id数据
2025-04-15
MySQL 多表联合查询:UNION 和 JOIN 分析
2025-04-15
MySQL 大数据量快速插入方法和语句优化
2025-04-15
mysql 如何给SQL添加索引
2025-04-15
mysql 字段区分大小写
2025-04-15
mysql 字段合并问题(group_concat)
2025-04-15
mysql 字段类型类型
2025-04-15
MySQL 字符串截取函数,字段截取,字符串截取
2025-04-15
MySQL 存储引擎
2025-04-15
mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
2025-04-15
MySQL 存储过程参数:in、out、inout
2025-04-15
mysql 存储过程每隔一段时间执行一次
2025-04-15
mysql 存在update不存在insert
2025-04-15
Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
2025-04-15
Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
2025-04-15