(Good topic)四因数 (leetcode 181周赛T2)
输出:32
解释:
21 有 4 个因数:1, 3, 7, 21
4 有 3 个因数:1, 2, 4
7 有 2 个因数:1, 7
答案仅为 21 的所有因数的和。
1 <= nums.length <= 10^4
1 <= nums[i] <= 10^5
上午的比赛,一开始做从1遍历到nums[i]一直超时,之后比赛结束后在讨论区有大神给了解答,从遍历到平方根即可改了之后可以通过了
1.先判断是否为平方数,是平方数则一定不是四因子数,因为如果是平方数则它必有一个单独的因子,所以不可能是四因子数。
2.然后遍历到平方根,详细看下面注释。
1 int sumFourDivisors(int* nums, int numsSize)
2 {
3 int sumfour = 0;
4 int incflag = 0;
5
6 for (int i = 0; i < numsSize; i++)
7 {
8 int flag = 0;
9 int cnt = 1;
10 int sqrroot = sqrt(nums[i]);
11 int sum = 1 + nums[i];
12 for (int j = 2; j < sqrt(nums[i]); j++)
13 {
14 if (sqrroot * sqrroot == nums[i]) //如果是平方数直接跳出判断下一个数
15 {
16 break;
17 }
18
19 if (nums[i] % j == 0)
20 {
21 cnt++;
22 sum += (j + nums[i]/j);
23 }
24
25 if (cnt > 2)
26 {
27 break;
28 }
29 }
30 if (cnt != 2)
31 {
32 flag = 1;
33 }
34
35 if (flag == 0)
36 {
37 incflag++;
38 sumfour += sum;
39 }
40 }
41
42 if (incflag == 0)
43 return 0;
44 else
45 return sumfour;
46 }
(Good topic)四因数 (leetcode 181周赛T2)的更多相关文章
- LeetCode 双周赛 102,模拟 / BFS / Dijkstra / Floyd
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 大家好,欢迎来到小彭的 LeetCode 周赛解题报告. 昨晚是 LeetCode 双周赛第 102 场,你 ...
- LeetCode 双周赛 101,DP/中心位贪心/裴蜀定理/Dijkstra/最小环
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 大家好,我是小彭. 这周比较忙,上周末的双周赛题解现在才更新,虽迟但到哈.上周末这场是 LeetCode 第 ...
- LeetCode 双周赛 98,脑筋急转弯转不过来!
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 大家好,我是小彭. 昨晚是 LeetCode 第 98 场双周赛,你参加了吗?这场周赛需要脑筋急转弯,转不过 ...
- 刷爆 LeetCode 双周赛 100,单方面宣布第一题最难
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 大家好,我是小彭. 上周末是 LeetCode 第 100 场双周赛,你参加了吗?这场周赛整体没有 Hard ...
- leetcode 181 Employees Earning More Than Their Managers 不会分析的数据库复杂度
https://leetcode.com/problems/employees-earning-more-than-their-managers/description/ 老师上课没分析这些的复杂度, ...
- leetcode 双周赛9 进击的骑士
一个坐标可以从 -infinity 延伸到 +infinity 的 无限大的 棋盘上,你的 骑士 驻扎在坐标为 [0, 0] 的方格里. 骑士的走法和中国象棋中的马相似,走 “日” 字:即先向左(或右 ...
- LeetCode 181. Employees Earning More Than Their Managers (超过经理收入的员工)
题目标签: 题目给了我们一个 员工表,包括经理.员工会有经理的id. 这里可以重复 利用两次 表格,表格a, 表格b,当a 员工的经理id 等于 b员工时候,在从中找到员工工资大于经理的.具体看co ...
- LeetCode双周赛#34
5492. 分割字符串的方案数 #组合公式 #乘法原理 #区间分割 题目链接 题意 给定01二进制串\(s\),可将\(s\)分割为三个非空 字符串\(s_1,s_2,s_3\),即(\(s_1+s_ ...
- LeetCode双周赛#33 题解
5480. 可以到达所有点的最少点数目 #贪心 题目链接 题意 给定有向无环图,编号从0到n-1,一个边集数组edges(表示从某个顶点到另一顶点的有向边),现要找到最小的顶点集合,使得从这些点出发, ...
- Leetcode 双周赛#32 题解
1540 K次操作转变字符串 #计数 题目链接 题意 给定两字符串\(s\)和\(t\),要求你在\(k\)次操作以内将字符串\(s\)转变为\(t\),其中第\(i\)次操作时,可选择如下操作: 选 ...
随机推荐
- 2023-7-27WPF的ContextMenu的传参绑定方式
WPF的ContextMenu的绑定方式 [作者]长生 ContextMenu为何不能正常绑定 在wpf中ContextMenu和ToolTip一样都是弹出层,与VisualTree已经分离了,只不过 ...
- redis的一些简单操作(针对key)
redis默认16个数据,默认使用0号 select为切换数据库的关键字 select 1 切换数据库 设置值 set k1 lucy key为 k1 value 为 lucy 查看全 ...
- 青少年CTF-Web-CheckMe01
题目描述 半颗星的简单题,CheckMe01 启动题目,并访问. 解题过程 访问题目页面,提示我们需要输入一个Key. 随便输入一个值,发现出现了一些代码. 我们仔细阅读代码,来了解这段代码是干什么的 ...
- 「学习笔记」gdb 调试的简单操作
gdb是一个命令行下的.功能强大的调试器. 在学习 gdb 前,我们要知道几个最基本的 cmd 命令. cmd 首先,对于 win10 系统,我们按 Windows + R 键,打开运行窗口,在里面输 ...
- [golang]推送钉钉机器人消息
前言 通过钉钉群机器人的webhook,实现消息推送. 本文代码仅示例markdown格式的消息. 示例代码 注意修改钉钉机器人的webhook package main import ( " ...
- Web通用漏洞--RCE
Web通用漏洞--RCE 漏洞简介 RCE远程代码/命令执行漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统. RCE漏洞也分为代码执行漏洞和命令执行漏洞,所谓代码执行 ...
- 【JMeter】使用BeanShell写入内容到文件
使用BeanShell写入内容到文件 目录 使用BeanShell写入内容到文件 一.前言 二.提取 三.写入 一.前言 在我们日常工作中,可能会遇到需要将请求返回的数据写入到文件中.在我们使用J ...
- 开源Word文字替换小工具更新 增加文档页眉和页脚替换功能
ITGeeker技术奇客发布的开源Word文字替换小工具更新到v1.0.1.0版本啦,现已支持Office Word文档页眉和页脚的替换. 同时ITGeeker技术奇客修复了v1.0.0.0版本因替换 ...
- Go Web项目结构 + 基础代码
Go Web工程 下面是项目的包图,可以通过包图来理清项目包的结构. Go Web工程 下面是项目的包图,可以通过包图来理清项目包的结构. 因为我是从Java转过来的,其实这种包的结构与Java的类似 ...
- minio 支持object搜索方案
minio支持上传时对object打标签,查询时可以根据标签做筛选.但是有ftp上传文件的需求,导致无法给object打标签.并且也不清楚minio对于根据标签的筛选性能如何,因此我们打算将objec ...