入职名企必备系列,leecode三除数问题

简介: 入职名企必备系列,leecode三除数问题



⭐️题目

1952. 三除数
给你一个整数 n 。如果 n 恰好有三个正除数 ,返回 true ;否则,返回 false 。
如果存在整数 k ,满足 n = k * m ,那么整数 m 就是 n 的一个 除数 。
示例 1:
输入:n = 2
输出:false
解释:2 只有两个除数:1 和 2 。
示例 2:
输入:n = 4
输出:true
解释:4 有三个除数:1、2 和 4 。
1952. Three Divisors
Given an integer n, return true if n has exactly three positive divisors. Otherwise, return false.
An integer m is a divisor of n if there exists an integer k such that n = k * m.
Example 1:
Input: n = 2
Output: false
Explantion: 2 has only two divisors: 1 and 2.
Example 2:
Input: n = 4
Output: true
Explantion: 4 has three divisors: 1, 2, and 4.

🌟题目分析

题目就是要我们找一个正好被整除的

我们最想到的就是遍历即可

然后一个计数的

另一个方法就是其实就是找1到sqrt(n)之间的数字然后做一个判断

🌟 代码实现

class Solution:
    def isThree(self, n: int) -> bool:
        t=0
        for i in range(n):
            if n % (i+1) == 0:
                t+=1
        if t == 3:
            return True
        return False
class Solution:
    def isThree(self, n: int) -> bool:
        # t=0
        # for i in range(n):
        #     if n % (i+1) == 0:
        #         t+=1
        # if t == 3:
        #     return True
        # return False
        cnt=0
        i=1
        while i<=sqrt(n):
          if n%i==0:
            if n / i == i:
                cnt+=1
            elif n/i!=i:
                cnt+=2
          i+=1
        if cnt ==3:
            return True
        return False

最终优化

if cnt ==3:
            return True
 return False

优化:

return cnt ==3

执行结果:

通过

显示详情

查看示例代码

添加备注

执行用时:

28 ms

, 在所有 Python3 提交中击败了

97.80%

的用户

内存消耗:

15 MB

, 在所有 Python3 提交中击败了

9.89%

的用户

通过测试用例:

228 / 228

炫耀一下:

相关文章
|
机器学习/深度学习 定位技术 数据格式
【蓝桥杯】每日一题17天冲刺国赛
【蓝桥杯】每日一题17天冲刺国赛
411 0
【蓝桥杯】每日一题17天冲刺国赛
|
存储 人工智能 BI
每日一题——奖学金
 哈喽大家好,我是保护小周ღ,本期为大家带来的是博主在牛客网上遇到的一道笔试题,题目不难,但是有点复杂(博主太菜了),博主在做题的过程中使用到了,结构体,动态内存开辟,数据排序,相关知识,包括写着写着被迫使用goto语句,还是值得学习一下的,有没有朋友有其他的解法,欢迎留言啊~
119 0
|
存储 人工智能
【蓝桥杯】每日一题冲刺国赛
🥇数字三角形 🥈等差数列 🥉包子凑数
【蓝桥杯】每日一题冲刺国赛
|
算法
牛客网———公务员面试
牛客网———公务员面试
178 0
|
算法 前端开发 Java
双非硕士的辛酸求职回忆录:第 6 篇:拿到Offer了,该选择哪个呢?#IT人的升职加薪tips#
双非硕士的辛酸求职回忆录:第 6 篇:拿到Offer了,该选择哪个呢?#IT人的升职加薪tips#
146 0
双非硕士的辛酸求职回忆录:第 6 篇:拿到Offer了,该选择哪个呢?#IT人的升职加薪tips#
|
前端开发 JavaScript 程序员
DayDayUp:2018年06月07日高考必胜:程序猿的方式祝福莘莘学子高考必胜!
DayDayUp:2018年06月07日高考必胜:程序猿的方式祝福莘莘学子高考必胜!
DayDayUp:2018年06月07日高考必胜:程序猿的方式祝福莘莘学子高考必胜!
|
算法 开发者
在家待着,不如刷刷这些招聘模拟题!在线编程周赛邀你挑战
阿里云开发者社区在线编程免费开放,做题还能赢好礼。
在家待着,不如刷刷这些招聘模拟题!在线编程周赛邀你挑战
|
算法 Java
又是一年的校招季,过来人给你讲几句肺腑之言
阅读本文大概需要 10 分钟。 转眼间又到了六月底。马上就要迎来新一年的秋季校园招聘了。这对很多即将毕业的,想要从事互联网行业的同学来说,都是非常重要的一段时间。 在这期间,很多互联网公司将陆续开始校园招聘,招聘对于很多公司来说都是非常重要的,它是为公司储备优秀人才的一个重要的活动。