跳到主要内容

3115.质数的最大距离

链接:3115.质数的最大距离
难度:Medium
标签:数组、数学、数论
简介:返回两个(不一定不同的)质数在 nums 中 下标 的 最大距离。

题解 1 - python

  • 编辑时间:2024-07-02
  • 执行用时:403ms
  • 内存消耗:28.54MB
  • 编程语言:python
  • 解法介绍:遍历。
def is_prime(num: int) -> bool:
if num < 2: return False
for v in range(2, num):
if num % v == 0: return False
return True
arr = [is_prime(num) for num in range(103)]
class Solution:
def maximumPrimeDifference(self, nums: List[int]) -> int:
v1 = v2 = -1
for i in range(len(nums)):
if is_prime(nums[i]):
if v1 == -1: v1 = i
v2 = i
return v2 - v1

题解 2 - python

  • 编辑时间:2024-07-03
  • 执行用时:84ms
  • 内存消耗:28.54MB
  • 编程语言:python
  • 解法介绍:遍历。
def is_prime(num: int) -> bool:
if num < 2: return False
for v in range(2, num):
if num % v == 0: return False
return True
arr = [is_prime(num) for num in range(103)]
class Solution:
def maximumPrimeDifference(self, nums: List[int]) -> int:
v1 = v2 = -1
for i in range(len(nums)):
if arr[nums[i]]:
if v1 == -1: v1 = i
v2 = i
return v2 - v1