【菲蜀定理 子序列】1250 检查「好数组」

简介: 【菲蜀定理 子序列】1250 检查「好数组」

本文涉及知识点

菲蜀定理 子序列

LeetCode 1250 检查「好数组」

给你一个正整数数组 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 <= 105

1 <= nums[i] <= 109

菲蜀定理

根据菲蜀定理,任意子序列互质就可以。任意子序列互质,则整个数组必定互质。

判断整个数组是否互质。

VS 和 GCC都有gcd函数。

代码

class Solution {
public:
    bool isGoodArray(vector<int>& nums) {
int iGCD = nums[0];
for(int i = 1 ; i < nums.size();i++){
    iGCD = gcd(iGCD,nums[i]);
}
return 1 == iGCD;
    }
};

扩展阅读

视频课程

有效学习:明确的目标 及时的反馈 拉伸区(难度合适),可以先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。

https://edu.csdn.net/course/detail/38771

如何你想快速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程

https://edu.csdn.net/lecturer/6176

相关下载

想高屋建瓴的学习算法,请下载《喜缺全书算法册》doc版

https://download.csdn.net/download/he_zhidan/88348653

我想对大家说的话
闻缺陷则喜是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。
子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。
如果程序是一条龙,那算法就是他的是睛

测试环境

操作系统:win7 开发环境: VS2019 C++17

或者 操作系统:win10 开发环境: VS2022 C++17

如无特殊说明,本算法用**C++**实现。

相关文章
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1 算法训练 区间k大数查询
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1 算法训练 区间k大数查询
38 0
|
3月前
【刷题记录】尼科彻斯定理、数对、环形结构
【刷题记录】尼科彻斯定理、数对、环形结构
|
5月前
[NOIP2002]过河卒 标准递归
[NOIP2002]过河卒 标准递归
39 6
|
6月前
|
算法 测试技术 C#
【数学归纳法 反证法】菲蜀定理
【数学归纳法 反证法】菲蜀定理
|
6月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-150 6-1 递归求二项式系数值
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-150 6-1 递归求二项式系数值
64 1
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-481 阿尔法乘积
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-481 阿尔法乘积
52 0
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-936 砝码称重
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-936 砝码称重
53 0
|
6月前
|
算法 Java C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-6 算法训练 安慰奶牛 最小生成树
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-6 算法训练 安慰奶牛 最小生成树
47 0
|
6月前
|
算法
PAT甲级真题1015 可逆质数
PAT甲级真题1015 可逆质数
44 0
|
算法
算法简单题,吾辈重拳出击 - 判断子序列
咱就是说简单题归简单题,但有些简单题也不一定立马做得出来。正所谓有人力扣几千名,有人简单题刷一天。。。