#3115
Medium Algorithms Maximum prime difference
Array Math Number Theory
58.6% acceptance
Feb 23, 2026
125
16
You are given an integer array nums.
Return an integer that is the maximum distance between the indices of two (not necessarily different) prime numbers in nums.
Solution
Rust
Time O(2^n)
Space O(n)
impl Solution {
fn is_prime(n: i32) -> bool {
if n < 2 { return false; }
if n == 2 { return true; }
if n % 2 == 0 { return false; }
let mut i = 3;
while i * i <= n {
if n % i == 0 { return false; }
i += 2;
}
true
}
pub fn maximum_prime_difference(nums: Vec<i32>) -> i32 {
let first = nums.iter().position(|&x| Self::is_prime(x)).unwrap();
let last = nums.iter().rposition(|&x| Self::is_prime(x)).unwrap();
(last - first) as i32
}
}