当前位置: 首页 > article >正文

LeetCode 2614.对角线上的质数:遍历(质数判断)

【LetMeFly】2614.对角线上的质数:遍历(质数判断)

力扣题目链接:https://leetcode.cn/problems/prime-in-diagonal/

给你一个下标从 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 。

 

提示:

  • 1 <= nums.length <= 300
  • nums.length == numsi.length
  • 1 <= nums[i][j] <= 4*106

解题方法:质数判断

如何判断一个数是否为质数?

首先如果这个数小于2那么一定不是质数

i i i从2到 s q r t ( n ) sqrt(n) sqrt(n)枚举,若 i i i能整除 n n n,则 n n n不是质数

否则 n n n是质数

如何遍历对角线?题目中说了 nums.length == numsi.length ,也就是说矩阵是正方形。

所以我们可以用 i i i 0 0 0枚举到 n − 1 n - 1 n1,那么 n u m s [ i ] [ i ] nums[i][i] nums[i][i] n u m s [ i ] [ l e n ( n u m s ) − i − 1 ] nums[i][len(nums) - i - 1] nums[i][len(nums)i1]即为对角线和副对角线上的元素。

  • 时间复杂度 O ( l e n ( n u m s ) max ⁡ ( n u m s [ i ] [ j ] ) ) O(len(nums)\sqrt{\max(nums[i][j]))} O(len(nums)max(nums[i][j]))
  • 空间复杂度 O ( 1 ) O(1) O(1)

AC代码

C++
/** @Author: LetMeFly* @Date: 2025-03-18 23:40:09* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-03-18 23:43:36*/
class Solution {
private:bool isPrime(int n) {if (n < 2) {return false;}int k = sqrt(n);for (int i = 2; i <= k; i++) {if (n % i == 0) {return false;}}return true;}
public:int diagonalPrime(vector<vector<int>>& nums) {int ans = 0;for (int i = 0; i < nums.size(); i++) {if (isPrime(nums[i][i])) {ans = max(ans, nums[i][i]);}if (isPrime(nums[i][nums.size() - i - 1])) {ans = max(ans, nums[i][nums.size() - i - 1]);}}return ans;}
};
Python
'''
Author: LetMeFly
Date: 2025-03-18 23:46:52
LastEditors: LetMeFly.xyz
LastEditTime: 2025-03-18 23:48:14
'''
from typing import List
from math import sqrtclass Solution:def isPrime(self, n: int) -> bool:if n < 2:return Falsefor i in range(2, int(sqrt(n)) + 1):if n % i == 0:return Falsereturn Truedef diagonalPrime(self, nums: List[List[int]]) -> int:ans = 0for i in range(len(nums)):if self.isPrime(nums[i][i]):ans = max(ans, nums[i][i])if self.isPrime(nums[i][len(nums) - i - 1]):ans = max(ans, nums[i][len(nums) - i - 1])return ans
Java
/** @Author: LetMeFly* @Date: 2025-03-18 23:50:23* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-03-18 23:55:24*/
class Solution {private boolean isPrime(int n) {if (n < 2) {return false;}int k = (int)Math.sqrt(n);for (int i = 2; i <= k; i++) {if (n % i == 0) {return false;}}return true;}public int diagonalPrime(int[][] nums) {int ans = 0;for (int i = 0; i < nums.length; i++) {if (isPrime(nums[i][i])) {ans = Math.max(ans, nums[i][i]);}if (isPrime(nums[i][nums.length - i - 1])) {ans = Math.max(ans, nums[i][nums.length - i - 1]);}}return ans;}
}
Go
/** @Author: LetMeFly* @Date: 2025-03-18 23:55:55* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-03-18 23:58:46*/
package mainfunc isPrime2614(n int) (ans bool) {if n < 2 {return}for i := 2; i * i <= n; i++ {if n % i == 0 {return}}return true
}func diagonalPrime(nums [][]int) (ans int) {for i := range nums {if isPrime2614(nums[i][i]) {ans = max(ans, nums[i][i])}if isPrime2614(nums[i][len(nums) - i - 1]) {ans = max(ans, nums[i][len(nums) - i - 1])}}return
}

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

千篇源码题解已开源

相关文章:

LeetCode 2614.对角线上的质数:遍历(质数判断)

【LetMeFly】2614.对角线上的质数&#xff1a;遍历(质数判断) 力扣题目链接&#xff1a;https://leetcode.cn/problems/prime-in-diagonal/ 给你一个下标从 0 开始的二维整数数组 nums 。 返回位于 nums 至少一条 对角线 上的最大 质数 。如果任一对角线上均不存在质数&…...

红日靶场(二)——个人笔记

靶场搭建 新增VMnet2网卡 **web&#xff1a;**需要配置两张网卡&#xff0c;分别是外网出访NAT模式和内网域环境仅主机模式下的VMnet2网卡。 **PC&#xff1a;**跟web一样&#xff0c;也是需要配置两张网卡&#xff0c;分别是外网出访NAT模式和内网域环境仅主机模式下的VMn…...

实时视频分析的破局之道:蓝耘 MaaS 如何与海螺 AI 视频实现高效协同

一、蓝耘 MaaS 平台&#xff1a;AI 模型全生命周期管理的智能引擎 蓝耘 MaaS&#xff08;Model-as-a-Service&#xff09;平台是由蓝耘科技推出的 AI 模型全生命周期管理平台&#xff0c;专注于为企业和开发者提供从模型训练、推理到部署的一站式解决方案。依托云原生架构、高…...

清晰易懂的 Swift 安装与配置教程

初学者也能看懂的 Swift 安装与配置教程 本教程将手把手教你如何在 macOS 系统上安装 Swift&#xff0c;配置依赖包缓存位置&#xff0c;并指出新手容易踩坑的细节。即使你是零基础小白&#xff0c;也能快速上手&#xff01; 一、安装 Swift&#xff08;macOS 环境&#xff09…...

大数据 ETL 异常值缺失值处理完整方案

在大数据时代,数据已成为推动业务创新与决策优化的重要资产。然而,数据的海量、异构及实时性往往伴随着噪声、错误记录以及缺失现象,严重影响下游分析模型的准确性和可靠性。尤其在 ETL(抽取、转换、加载)环节中,如何在海量数据流中迅速甄别并处理异常数据,便成为决定整…...

macOS homebrew - 切换源

https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/ 环境变量中 添加&#xff1a; export HOMEBREW_BREW_GIT_REMOTE"https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git" export HOMEBREW_CORE_GIT_REMOTE"https://mirrors.tuna.tsinghua.edu.cn…...

如何基于Gone编写一个Goner对接Apollo配置中心(下)—— 对组件进行单元测试

项目地址&#xff1a;https://github.com/gone-io/gone 原文地址&#xff1a;https://github.com/gone-io/goner/blob/main/docs/test_goner.md 本文介绍的例子&#xff0c;代码在&#xff1a;https://github.com/gone-io/goner/blob/main/apollo 文章目录 引言编写“可测试”的…...

走进Java:String字符串的基本使用

❀❀❀ 大佬求个关注吧~祝您开心每一天 ❀❀❀ 目录 一、什么是String 二、如何定义一个String 1. 用双引号定义 2. 通过构造函数定义 三、String中的一些常用方法 1 字符串比较 1.1 字符串使用 1.2 字符串使用equals() 1.3 使用 equalsIgnoreCase() 1.4 cpmpareTo…...

python系列之元组(Tuple)

不为失败找理由&#xff0c;只为成功找方法。所有的不甘&#xff0c;因为还心存梦想&#xff0c;所以在你放弃之前&#xff0c;好好拼一把&#xff0c;只怕心老&#xff0c;不怕路长。 python系列之元组&#xff08;Turple&#xff09; 一、元组是什么&#xff1f;——给新手的…...

破解验证码新利器:基于百度OCR与captcha-killer-modified插件的免费调用教程

破解验证码新利器&#xff1a;基于百度OCR与captcha-killer-modified插件的免费调用教程 引言 免责声明&#xff1a; 本文提供的信息仅供参考&#xff0c;不承担因操作产生的任何损失。读者需自行判断内容适用性&#xff0c;并遵守法律法规。作者不鼓励非法行为&#xff0c;保…...

批量删除 PPT 中的所有图片、某张指定图片或者所有二维码图片

PPT 文档中的图片如何删除呢&#xff1f;相信很多小伙伴或碰到类似的需求。比如我们需要删除 PPT 文档中的某一张图片或者某张二维码图片&#xff0c;如果每一页都有这张图片&#xff0c;或者有很多 ppt 都有同一张要删除的图片&#xff0c;我们应该怎么快速的完成删除呢&#…...

大模型开发(六):LoRA项目——新媒体评论智能分类与信息抽取系统

LoRA项目——新媒体评论智能分类与信息抽取系统 0 前言1 项目介绍1.1 项目功能1.2 技术原理1.3 软硬件环境1.4 项目结构 2 数据介绍与处理2.1 数据集介绍2.2 数据处理2.3 数据导入器 3 模型训练3.1 配置文件3.2 工具函数3.3 模型训练3.4 模型评估 4 模型推理 0 前言 微调里面&…...

mysql-innodb存储引擎主键索引叶子结点数据结构(非单纯的双向链表)

我们应该清楚行记录是放在页中的。 compact行记录格式&#xff1a; 主要介绍几个比较重要的参数 heap_no&#xff1a; 页号 record_type&#xff1a; 0 表示普通类型&#xff08;叶子结点&#xff09;&#xff0c;1表示B树的非叶子节点 &#xff0c;2 表示最小记录&#xff…...

MySQL 进阶学习文档

一、存储引擎 1.1 核心架构 四层架构&#xff1a;连接层 → 服务层 → 引擎层 → 存储层插件式存储引擎&#xff1a;不同引擎独立管理数据存储&#xff0c;可动态选择 1.2 主流引擎对比 特性InnoDB&#xff08;默认&#xff09;MyISAMMemory事务支持✅ 支持❌ 不支持❌ 不支…...

物联网为什么用MQTT不用 HTTP 或 UDP?

先来两个代码对比&#xff0c;上传温度数据给服务器。 MQTT代码示例 // MQTT 客户端连接到 MQTT 服务器 mqttClient.connect("mqtt://broker.server.com:8883", clientId) // 订阅特定主题 mqttClient.subscribe("sensor/data", qos1) // …...

Vmware中的centos7连接上网

有很多刚刚开始配置了centos7&#xff0c;然后发现不能上网现在来解决这个问题。 测试能不能上网 先还原这个设置&#xff0c;如果没有动过的话就不用&#xff0c;连接模式是NAT模式 然后进去设置网络环境&#xff0c;记得是用超级用户设置 vi /etc/sysconfig/network-script…...

【AI知识】常见的优化器及其原理:梯度下降、动量梯度下降、AdaGrad、RMSProp、Adam、AdamW

常见的优化器 梯度下降&#xff08;Gradient Descent, GD&#xff09;局部最小值、全局最小值和鞍点凸函数和非凸函数动量梯度下降&#xff08;Momentum&#xff09;自适应学习率优化器AdaGrad&#xff08;Adaptive Gradient Algorithm&#xff09;​RMSProp&#xff08;Root M…...

线性规划的标准形式

标准形式的定义 目标函数&#xff1a;最大化线性目标函数 其中&#xff0c;x 是决策变量向量&#xff0c;c 是目标系数向量。 约束条件&#xff1a;等式形式约束 A x b, 其中&#xff0c;A 是约束系数矩阵&#xff0c;b 是常数项向量。 变量非负约束&#xff1a; 。 因此…...

网络安全应急入门到实战

奇安信&#xff1a;95015网络安全应急响应分析报告&#xff08;2022-2024年&#xff09;官网可以下载 https://github.com/Bypass007/Emergency-Response-Notes 应急响应实战笔记 网络安全应急响应技术实战指南 .pdf 常见场景 第4章 勒索病毒网络安全应急响应 第5章 挖矿木…...

应用程序安全趋势:左移安全、人工智能和开源恶意软件

软件是大多数行业业务运营的核心&#xff0c;这意味着应用程序安全从未如此重要。 随着组织采用云原生架构、微服务和开源组件&#xff0c;攻击面不断扩大。结果是&#xff1a;攻击者渴望利用的易受攻击和恶意依赖项数量不断增加。 2025 年&#xff0c;安全团队将面临日益复杂…...

ospf动态路由

一、为什么使用动态路由 OSPF&#xff08;open shortest path first开放最短路径优先&#xff09;是内部网关协议(IGP)的一种&#xff0c;基于链路状态算法(LS)。 OSPF企业级路由协议(RFC2328 OSPFv2)&#xff0c;核心重点协议 OSPF共三个版本&#xff0c;OSPFV1主要是实验室…...

【视频】OrinNX+Ubuntu20.04:移植OpenCV-4.11.0 with CUDA(含opencv_contrib )

1、源码下载 github下载地址如下,选择最新版本4.11 https://github.com/opencv/opencv/releases/tag/4.11.0 https://github.com/opencv/opencv_contrib/releases/tag/4.11.02、安装依赖库 1)对图片编码格式的支持 sudo apt install zlib1g-dev libjpeg8-dev libwebp-dev…...

基于单片机控制的电动汽车双闭环调速系统(论文+源码)

2.1系统方案 在本次设计中&#xff0c;其系统整个框图如下图3.1所示&#xff0c;其主要的核心控制模块由电源供电模块&#xff0c;晶振电路&#xff0c;驱动电路模块&#xff0c;霍尔传感器&#xff0c;按键模块&#xff0c;复位电路&#xff0c;LCD液晶显示及直流电机等组成。…...

【病毒分析】伪造微软官网+勒索加密+支付威胁,CTF中勒索病毒解密题目真实还原!

1.背景 该CTF挑战题目完整复现了黑客的攻击链路&#xff0c;攻击者通过伪造钓鱼页面引导受害者下载恶意软件。用户访问伪造的 Microsoft 365 官网后&#xff0c;在点击“Windows Installer (64-bit)”下载选项时&#xff0c;页面会自动跳转至伪造的 GitHub 项目链接&#xff0…...

PDF Reader Pro for Mac v4.9.0 PDF编辑/批注/OCR/转换工具 支持M、Intel芯片

PDF Reader Pro 是一款用户必备的集管理、编辑、转换、阅读功能于一体的专业的全能PDF阅读专家。快速、易用、强大&#xff0c;让您出色完成 PDF 工作。 应用介绍 PDF Reader Pro&#xff0c;一款功能齐全且强大的PDF阅读和编辑软件。支持PDF阅读、批注、PDF编辑、PDF格式转换…...

神经网络中层与层之间的关联

目录 1. 层与层之间的核心关联&#xff1a;数据流动与参数传递 1.1 数据流动&#xff08;Forward Propagation&#xff09; 1.2 参数传递&#xff08;Backward Propagation&#xff09; 2. 常见层与层之间的关联模式 2.1 典型全连接网络&#xff08;如手写数字分类&#xf…...

PowerShell 美化 增强教程

PowerShell Windows Terminal 美化 & 增强教程 Windows Terminal PowerShell 默认外观和功能较为基础&#xff0c;但通过 Oh My Posh 及其他增强工具&#xff0c;你可以打造一个更美观、更高效的终端环境。本教程提供完整的安装、美化和优化步骤&#xff0c;包括常见问题…...

机械革命蛟龙16pro玩游戏闪屏

我查过原因&#xff0c;好像是AMD显卡对游戏用了可变刷新率就出bug了&#xff0c;可能是那个游戏不适合用可变刷新率技术。 解决办法&#xff1a; 1.桌面右键鼠标&#xff0c;出现如下标签&#xff0c;点击AMD Software&#xff1a;Adrenalin Edition 2.选择闪屏的游戏&#x…...

《AI赋能云原生区块链,引领供应链溯源革新》

在数字化浪潮席卷全球的当下&#xff0c;供应链管理领域正经历着深刻变革。云原生区块链凭借其去中心化、不可篡改等特性&#xff0c;为供应链溯源带来了前所未有的透明度与可靠性。而AI的融入&#xff0c;更如虎添翼&#xff0c;以强大的智能分析和决策能力&#xff0c;为云原…...

练习题:94

目录 Python题目 题目 题目分析 需求理解 关键知识点 实现思路分析 代码实现 代码解释 while 循环&#xff1a; 获取用户输入&#xff1a; 判断输入内容&#xff1a; 使用 break 语句&#xff1a; 处理非 "quit" 输入&#xff1a; 循环结束后的操作&am…...