2614. 对角线上的质数-c语言解法

给你一个下标从 0 开始的二维整数数组 nums 。

返回位于 nums 至少一条 对角线 上的最大 质数 。如果任一对角线上均不存在质数,返回 0 。

注意:

复制代码
如果某个整数大于 1 ,且不存在除 1 和自身之外的正整数因子,则认为该整数是一个质数。
如果存在整数 i ,使得 nums[i][i] = val 或者 nums[i][nums.length - i - 1]= val ,则认为整数 val 位于 nums 的一条对角线上。

在上图中,一条对角线是 1,5,9 ,而另一条对角线是 3,5,7

示例 1:

输入:nums = \[1,2,3,5,6,7,9,10,11]

输出:11

解释:数字 1、3、6、9 和 11 是所有 "位于至少一条对角线上" 的数字。由于 11 是最大的质数,故返回 11 。

示例 2:

输入:nums = \[1,2,3,5,17,7,9,11,10]

输出:17

解释:数字 1、3、9、10 和 17 是所有满足"位于至少一条对角线上"的数字。由于 17 是最大的质数,故返回 17 。

解题代码如下:

c 复制代码
int judge(int a){
    if(a==1){
        return 0;
    }
   for(int i=2;i*i<=a;i++){
       if(a%i==0){
           return 0;

       }
   }
   return 1;
}

int diagonalPrime(int** nums, int numsSize, int* numsColSize){
    int an=-1;
    int col=numsColSize[0];
    for(int i=0;i<numsSize;i++){
        if(judge(nums[i][i])){
            if(nums[i][i]>an){
                an=nums[i][i];
            }
        }
    }
    for(int i=0;i<numsSize;i++){
        if(judge(nums[i][col-i-1])){
            if(nums[i][col-i-1]>an){
                an=nums[i][col-i-1];
            }
        }
    }
    if(an!=-1){
        return an;
    }
    return 0;


}
相关推荐
JieE2122 天前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
JieE2123 天前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
Jack203 天前
HarmonyOS开发中错误处理策略:网络异常统一处理
算法
小小杨树3 天前
读懂色彩:拍照调色不再难
算法·计算机视觉·配色
JieE2124 天前
LeetCode 226. 翻转二叉树|JS 递归超详细拆解,二叉树入门经典题
javascript·算法
JieE2124 天前
LeetCode 104. 二叉树的最大深度|递归思路超详细拆解
javascript·算法
vivo互联网技术4 天前
CVPR 2026 | 全新强化学习框架 BeautyGRPO:重塑真实人像
算法·大模型·cvpr·影像
Darling噜啦啦4 天前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
用户497863050734 天前
(一)小红的数组操作
算法·编程语言