3115、质数的最大距离

  1. 示例 1:
  2. 示例 2:
  • 分析
  • 二次根号内取余判断
  • 给你一个整数数组 nums。

    返回两个(不一定不同的)质数在 nums 中 下标 的 最大距离。

    示例 1:

    输入: nums = [4,2,9,5,3]
    
    输出: 3
    
    解释: nums[1]、nums[3] 和 nums[4] 是质数。因此答案是 |4 - 1| = 3。
    

    示例 2:

    输入: nums = [4,8,2,8]
    
    输出: 0
    
    解释: nums[2] 是质数。因为只有一个质数,所以答案是 |2 - 2| = 0。
    

    提示:

    • $1 <= nums.length <= 3 * 10^5$
    • $1 <= nums[i] <= 100$
    • 输入保证 nums 中至少有一个质数。

    分析

    判断质数的方法:

    • 筛法
    • 缓存判断法
    • 逐个取余法

    二次根号内取余判断

    
    class Solution {
        public int maximumPrimeDifference(int[] nums) {
            int n = nums.length;
            int start = -1;
            int end = -1;
            for(int i = 0;i < n;i++) {
                if (isPrime(nums[i])) {
                    start = i;
                    break;
                }
            }
    
            for(int i = n - 1;i >= 0;i--) {
                if (isPrime(nums[i])) {
                    end = i;
                    break;
                }
            }
            // System.out.println("end = " + end + ",start = " + start);
            return end - start;
        }
    
        public boolean isPrime(int num) {
            if (num == 1) {
                return false;
            }
            if (num == 2 || num == 3) {
                return true;
            }
            for (int i = 2;i <= Math.sqrt(num);i++) {
                if (num % i == 0) {
                    return false;
                }
            }
            return true;
        }
    }
    

    转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1056615746@qq.com

    💰

    Title:3115、质数的最大距离

    Count:283

    Author:攀登

    Created At:2024-07-02, 21:00:34

    Updated At:2024-07-02, 21:41:47

    Url:http://jiafeimao-gjf.github.io/2024/07/02/3115%E3%80%81%E8%B4%A8%E6%95%B0%E7%9A%84%E6%9C%80%E5%A4%A7%E8%B7%9D%E7%A6%BB/

    Copyright: 'Attribution-non-commercial-shared in the same way 4.0' Reprint please keep the original link and author.

    ×

    Help us with donation