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

LeetCode-1250. 检查「好数组」【数论,裴蜀定理】

LeetCode-1250. 检查「好数组」【数论,裴蜀定理】

  • 题目描述:
  • 解题思路一:裴蜀定理是:a*x+b*y=1。其中a,b是数组中的数,x,y是任意整数。如果a,b互质那么一定有解。问题即转换为寻找互质的数。
  • 解题思路二:简化代码1
  • 解题思路三:三行代码!

题目描述:

给你一个正整数数组 nums,你需要从中任选一些子集,然后将子集中每一个数乘以一个 任意整数,并求出他们的和。

假如该和结果为 1,那么原数组就是一个「好数组」,则返回 True;否则请返回 False。

示例 1:

输入:nums = [12,5,7,23]
输出:true
解释:挑选数字 5 和 7。
53 + 7(-2) = 1

示例 2:

输入:nums = [29,6,10]
输出:true
解释:挑选数字 29, 6 和 10。
291 + 6(-3) + 10*(-1) = 1

示例 3:

输入:nums = [3,6]
输出:false

提示:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^9
https://leetcode.cn/problems/check-if-it-is-a-good-array/description/

解题思路一:裴蜀定理是:ax+by=1。其中a,b是数组中的数,x,y是任意整数。如果a,b互质那么一定有解。问题即转换为寻找互质的数。

class Solution {
public:bool isGoodArray(vector<int>& nums) {int s=0;for (int x : nums) {s=gcd(x,s);if(s==1) return true;//剪枝}return s==1;}int gcd(int a, int b) {//辗转相除法if(b==0) return a;return gcd(b,a%b);}
};

时间复杂度:O(n)
空间复杂度:O(1)

解题思路二:简化代码1

class Solution {
public:bool isGoodArray(vector<int>& nums) {int s=0;for (int x : nums) {s=gcd(x,s);if(s==1) return true;//剪枝}return s==1;}
};

时间复杂度:O(n)
空间复杂度:O(1)

解题思路三:三行代码!

class Solution {
public:bool isGoodArray(vector<int>& nums) {int s=0;for (int x : nums) s=gcd(x,s);return s==1;}
};

时间复杂度:O(n)
空间复杂度:O(1)

相关文章:

LeetCode-1250. 检查「好数组」【数论,裴蜀定理】

LeetCode-1250. 检查「好数组」【数论&#xff0c;裴蜀定理】题目描述&#xff1a;解题思路一&#xff1a;裴蜀定理是&#xff1a;a*xb*y1。其中a,b是数组中的数&#xff0c;x,y是任意整数。如果a,b互质那么一定有解。问题即转换为寻找互质的数。解题思路二&#xff1a;简化代码…...

【Linux】NTP时间同步服务与NFS网络文件共享存储服务器(配置、测试)

一、NTP时间同步服务1、NTP介绍NTP服务器【Network Time Protocol&#xff08;NTP&#xff09;】是用来使计算机时间同步化的一种协议&#xff0c;它可以使计机对其服务器或时钟源&#xff08;如石英钟&#xff0c;GPS等等)做同步化&#xff0c;它可以提供高精准度的时间校正&a…...

windows下php连接oracle安装oci8扩展报错(PHP Startup: Unable to load dynamic library ‘oci8_11g‘)

记录一下php7.29安装oci8的艰苦过程&#xff0c;简直就是唐僧西天取经历经九九八十一难。 使用的是phpstudy_pro安装的ph扩展wnmp环境下&#xff1b; 1 、安装oralce Instant Client 首先&#xff0c;安装oci8和pdo_oci扩展依赖的Oracle client。了解到需要连接的Oracle版…...

TensorRT的功能

TensorRT的功能 文章目录TensorRT的功能2.1. C and Python APIs2.2. The Programming Model2.2.2. The Runtime Phase2.3. Plugins2.4. Types and Precision2.5. Quantization2.6. Tensors and Data Formats2.7. Dynamic Shapes2.8. DLA2.9. Updating Weights2.10. trtexec本章…...

433MHz无线通信--模块RXB90

1、接收模块RXB90简介 两个数据输出是联通的。 2、自定义一个编码解码规则 组数据为“0x88 0x03 0xBD 0xB6”。 3、发射模块 如何使用示波器得到捕捉一个周期的图像&#xff1f; 通过date引脚连接示波器CH1&#xff0c;以及示波器探针的接地端接芯片的GND&#xff0c;分…...

Seata源码学习(三)-2PC核心源码解读

Seata源码分析-2PC核心源码解读 2PC提交源码流程 上节课我们分析到了GlobalTransactionalInterceptor全局事务拦截器&#xff0c;一旦执行拦截器&#xff0c;我们就会进入到其中的invoke方法&#xff0c;在这其中会做一些GlobalTransactional注解的判断&#xff0c;如果有注解…...

IO流概述

&#x1f3e1;个人主页 &#xff1a; 守夜人st &#x1f680;系列专栏&#xff1a;Java …持续更新中敬请关注… &#x1f649;博主简介&#xff1a;软件工程专业&#xff0c;在校学生&#xff0c;写博客是为了总结回顾一些所学知识点 目录IO流概述IO 流的分类总结流的四大类字…...

【node.js】node.js的安装和配置

文章目录前言下载和安装Path环境变量测试推荐插件总结前言 Node.js是一个在服务器端可以解析和执行JavaScript代码的运行环境&#xff0c;也可以说是一个运行时平台&#xff0c;仍然使用JavaScript作为开发语言&#xff0c;但是提供了一些功能性的API。 下载和安装 Node.js的官…...

Python优化算法—遗传算法

Python优化算法—遗传算法一、前言二、安装三、遗传算法3.1 自定义函数3.2 遗传算法进行整数规划3.3 遗传算法用于旅行商问题3.4 使用遗传算法进行曲线拟合一、前言 优化算法&#xff0c;尤其是启发式的仿生智能算法在最近很火&#xff0c;它适用于解决管理学&#xff0c;运筹…...

数据埋点(Data buried point)的应用价值剖析

一、什么是数据埋点&#xff1f;数据埋点指在应用中特定的流程中收集一些信息&#xff0c;用来跟踪应用使用的状况&#xff0c;后续用来进一步优化产品或是提供运营的数据支撑。比如访问数&#xff08;Visits&#xff09;&#xff0c;访客数(Visitor&#xff09;&#xff0c;停…...

一文弄懂硬链接、软链接、复制的区别

复制 命令&#xff1a;cp file1 file2 作用&#xff1a;实现对file1的一个拷贝。 限制&#xff1a;可以跨分区&#xff0c;文件夹有效。 效果&#xff1a;修改file1&#xff0c;对file2无影响&#xff1b;修改file2&#xff0c;对file1无影响。删除file1&#xff0c;对file…...

界面组件Telerik ThemeBuilder R1 2023开创应用主题研发新方式!

Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库&#xff0c;加快开发速度。Telerik DevCraft提供最完整的工具箱&#xff0c;用于构建现代和面向未来的业务应用程序&#xff0c;目前提供UI for ASP.NET包含一个完…...

在FederatedScope 如何查看clientserver之间的传递的参数大小(通讯量)? 对源码的探索记录

在FederatedScope 如何查看client/server之间的传递的参数大小&#xff08;通讯量&#xff09;&#xff1f; 对源码的探索记录 背景需求 想给自己的论文补一个通讯开销对比实验&#xff1a;需要计算出client和server之间传递的信息(例如&#xff0c;模型权重、embedding)总共…...

2023爱分析 · 数据科学与机器学习平台厂商全景报告 | 爱分析报告

报告编委 黄勇 爱分析合伙人&首席分析师 孟晨静 爱分析分析师 目录 1. 研究范围定义 2. 厂商全景地图 3. 市场分析与厂商评估 4. 入选厂商列表 1. 研究范围定义 研究范围 经济新常态下&#xff0c;如何对海量数据进行分析挖掘以支撑敏捷决策、适应市场的快…...

20230215_数据库过程_高质量发展

高质量发展 —一、运营结果 SQL_STRING:‘delete shzc.np_rec_lnpdb a where exists (select * from tbcs.v_np_rec_lnpdbbcv t where a.telnumt.telnum and a.outcarriert.OUTCARRIER and a.incarriert.INCARRIER and a.owncarriert.OWNCARRIER and a.starttimet.STARTTIME …...

【百度 JavaScript API v3.0】LocalSearch 位置检索、Autocomplete 结果提示

地名检索移动到指定坐标 需求 在输入框中搜索&#xff0c;在下拉列表中浮动&#xff0c;右侧出现高亮的列表集。选中之后移动到指定坐标。 技术点 官网地址&#xff1a; JavaScript API - 快速入门 | 百度地图API SDK 开发文档&#xff1a;百度地图JSAPI 3.0类参考 实现 …...

运用Facebook投放,如何制定有效的竞价策略?

广告投放中&#xff0c;我们经常会遇到一个问题&#xff0c;就是不知道什么样的广告适合自己的业务。其实&#xff0c;最简单的方法就是根据我们业务本身进行定位并进行投放。当你了解了广告主所处行业及目标受众后&#xff0c;接下来会针对目标市场进行搜索和定位&#xff08;…...

大数据框架之Hadoop:HDFS(五)NameNode和SecondaryNameNode(面试开发重点)

5.1NN和2NN工作机制 5.1.1思考&#xff1a;NameNode中的元数据是存储在哪里的&#xff1f; 首先&#xff0c;我们做个假设&#xff0c;如果存储在NameNode节点的磁盘中&#xff0c;因为经常需要进行随机访问&#xff0c;还有响应客户请求&#xff0c;必然是效率过低。因此&am…...

计算机网络 - 1. 体系结构

目录概念、功能、组成、分类概念功能组成分类分层结构概念总结OSI 七层模型应用层表示层会话层传输层网络层数据链路层物理层TCP/IP 四层模型OSI 与 TCP/IP 相同点OSI 与 TCP/IP 不同点为什么 TCP/IP 去除了表示层和会话层五层参考模型概念、功能、组成、分类 概念 &#x1f…...

银行业上云进行时,OLAP 云服务如何解决传统数仓之痛?

本文节选自《中国金融科技发展概览&#xff1a;创新与应用前沿》&#xff0c;从某国有大行构建大数据云平台的实践出发&#xff0c;解读了 OLAP 云服务如何助力银行实现技术平台化、组件化和云服务化&#xff0c;降低技术应用门槛&#xff0c;赋能业务创新。此外&#xff0c;本…...

手把手教你用LongCat-Image-Editn V2镜像:从部署到第一次成功改图

手把手教你用LongCat-Image-Editn V2镜像&#xff1a;从部署到第一次成功改图 想不想体验用一句话就能让照片里的猫变成狗&#xff0c;或者给风景照换个天空颜色&#xff1f;今天我要带大家从零开始&#xff0c;一步步教你使用LongCat-Image-Editn V2这个神奇的AI改图工具。这…...

C++哈希表封装实战指南

【哈希表封装实现】—— 我与C的不解之缘&#xff08;二十九&#xff09;在C编程中&#xff0c;哈希表是一种高效的数据结构&#xff0c;用于存储键值对&#xff08;key-value pairs&#xff09;。它通过哈希函数快速定位数据&#xff0c;平均时间复杂度为$O(1)$。本文将逐步介…...

Claude Code从0到1

1. 环境搭建与基础交互 1.1 安装Claude Code 安装步骤可参考官网或者菜鸟教程 打开Claude Code官网&#xff0c;根据对应操作系统复制相应的下载命令。Windows用powershell&#xff0c;MacOS用bash命令。复制下图中的命令&#xff0c;然后在终端进行粘贴&#xff0c;开始安装…...

为什么说AI创作的成本革命,比技术革命更重要?

过去两年&#xff0c;我见证了太多AI技术的“高光时刻”。 谷歌发布Imagen&#xff0c;Midjourney更新V6&#xff0c;OpenAI推出Sora……每一次&#xff0c;科技媒体都在欢呼“革命来了”“行业变天了”。 但我发现一个有趣的现象&#xff1a;这些“革命性”的工具&#xff0…...

小白也能玩转大模型!Qwen2.5-7B-Instruct一键Docker部署实战

小白也能玩转大模型&#xff01;Qwen2.5-7B-Instruct一键Docker部署实战 1. 前言&#xff1a;为什么选择Qwen2.5-7B-Instruct 大语言模型正在改变我们与技术交互的方式&#xff0c;而阿里通义千问的Qwen2.5系列无疑是当前最值得关注的模型之一。作为1.5B/3B轻量版的进阶旗舰款…...

Fish Speech 1.5一文详解:VQ-GAN+Llama架构TTS模型部署全流程

Fish Speech 1.5一文详解&#xff1a;VQ-GANLlama架构TTS模型部署全流程 1. 引言&#xff1a;为什么选择Fish Speech 1.5&#xff1f; 如果你正在寻找一个既强大又易用的文本转语音工具&#xff0c;Fish Speech 1.5绝对值得你的关注。这个由Fish Audio开发的先进模型&#xf…...

漫画脸描述生成详细步骤:输入‘黑长直+猫耳+战斗服’→输出完整角色卡+tag清单

漫画脸描述生成详细步骤&#xff1a;输入‘黑长直猫耳战斗服’→输出完整角色卡tag清单 基于 Qwen3-32B 的二次元角色设计工具 1. 什么是漫画脸描述生成 漫画脸描述生成是一个专门为二次元爱好者打造的角色设计工具。你只需要简单描述想要的角色特征&#xff0c;比如"黑长…...

EtherCAT同步实战:5步搞定分布式时钟配置(附TwinCAT截图)

EtherCAT同步实战&#xff1a;5步搞定分布式时钟配置&#xff08;附TwinCAT截图&#xff09; 在工业自动化领域&#xff0c;设备间的高精度同步一直是工程师们面临的挑战。想象一下&#xff0c;一条高速包装线上&#xff0c;多个伺服电机需要以微秒级的同步精度协同工作&#x…...

智谱最新视觉大模型GLM-4.6V-Flash-WEB体验:小白也能用的多模态助手

GLM-4.6V-Flash-WEB体验&#xff1a;小白也能用的多模态助手 你是不是经常遇到这种情况&#xff1a;看到一张有趣的图片&#xff0c;想问问AI里面有什么&#xff0c;但要么找不到合适的工具&#xff0c;要么找到了却发现操作复杂、响应缓慢&#xff0c;或者干脆需要付费&#…...

考研数学大题急救包:3天速成答题模板,零基础也能拿步骤分

考研数学大题急救包&#xff1a;3天速成答题模板&#xff0c;零基础也能拿步骤分 距离考研只剩最后72小时&#xff0c;数学大题却还是无从下手&#xff1f;别慌&#xff0c;这份极限抢救指南专为时间紧迫、基础薄弱的考生设计。我们提炼出阅卷老师最关注的7大黄金步骤模板&…...