Leetcode 3765. Complete Prime Number

  • [Leetcode 3765. Complete Prime Number](#Leetcode 3765. Complete Prime Number)
    • [1. 解题思路](#1. 解题思路)
    • [2. 代码实现](#2. 代码实现)

1. 解题思路

这一题是leetcode双周赛171的第一题,是一个medium的题目。

这一题本质上就是对 1 0 9 10^9 109以下的任意一个质数的判断,因此我们只需要找出所有不大于 1 0 9 \sqrt{10^9} 109 的所有质数,然后考察目标数是否能被其中某一个数整除即可。

2. 代码实现

给出python代码实现如下:

python 复制代码
def get_primes(n):
    primes = set()
    status = [0 for _ in range(n+1)]
    for i in range(2, n+1):
        if status[i] == 1:
            continue
        primes.add(i)
        for j in range(i, n+1, i):
            status[j] = 1
    return primes

PRIMES = get_primes(10**5)

def is_prime(num):
    if num == 1:
        return False
    if num in PRIMES:
        return True
    return all(num % x != 0 for x in PRIMES)

class Solution:
    def completePrime(self, num: int) -> bool:
        s = str(num)
        n = len(s)
        for i in range(n):
            l = int(s[:i+1])
            if not is_prime(l):
                return False
            r = int(s[-i-1:])
            if not is_prime(r):
                return False
        return True

提交代码评测得到:耗时4ms,占用内存18.14MB。

相关推荐
Espresso Macchiato2 天前
Leetcode 3781. Maximum Score After Binary Swaps
·leetcode medium·leetcode3781·leetcode双周赛172
Espresso Macchiato2 天前
Leetcode 3768. Minimum Inversion Count in Subarrays of Fixed Length
滑动窗口·leetcode hard·leetcode双周赛171·leetcode 3768
Espresso Macchiato2 天前
Leetcode 3771. Total Score of Dungeon Runs
leetcode medium·leetcode 3771·leetocde周赛479
Espresso Macchiato2 天前
Leetcode 3790. Smallest All-Ones Multiple
leetcode medium·leetcode 3790·leetcode周赛482
Espresso Macchiato21 天前
Leetcode 3767. Maximize Points After Choosing K Tasks
leetcode medium·leetcode双周赛171·leetcode 3767
Espresso Macchiato22 天前
Leetcode 3766. Minimum Operations to Make Binary Palindrome
leetcode medium·leetcode 3766·leetcode双周赛171
Espresso Macchiato2 个月前
Leetcode 3741. Minimum Distance Between Three Equal Elements II
滑动窗口·leetcode medium·leetcode 3741·leetcode周赛475
Espresso Macchiato3 个月前
Leetcode 3702. Longest Subsequence With Non-Zero Bitwise XOR
leetcode medium·异或操作·leetcode 3702·leetcode周赛470
Espresso Macchiato3 个月前
Leetcode 3694. Distinct Points Reachable After Substring Removal
滑动窗口·leetcode medium·leetcode双周赛166·leetcode 3694