题目描述:

image-20250318190141000

思路:判断对角线,判断指数,记录指数最大值

代码

package March;

/**
* @author hxw
* @version 1.0
* @date 2025/3/18 18:45
* @description: 2614. 对角线上的质数 简单
*/
public class eighteen {
public static void main(String[] args) {
int result = Solution.diagonalPrime(new int[][]{{1, 2, 3}, {5, 17, 7}, {9, 11, 10}});
System.out.println(result);
}

public static class Solution {
public static int diagonalPrime(int[][] nums) {
int k = 0;
for (int i = 0; i < nums.length; i++) {
for (int j = 0; j < nums[i].length; j++) {
// 找对角线上的元素
if (i == j || i + j == nums.length - 1) {
if (isPrime(nums[i][j]) && nums[i][j] > k) {
k = nums[i][j];
}
}
}
}
return k;
}

private static boolean isPrime(int i) {
if (i <= 1) {
return false;
}
if (i == 2) {
return true;
}
if (i % 2 == 0) {
return false;
}
for (int j = 3; j * j <= i; j += 2) {
if (i % j == 0) {
return false;
}
}
return true;
}
}
}