【菲蜀定理 子序列】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++**实现。

相关文章
|
机器学习/深度学习 算法
【算法基础】筛质数
【算法基础】筛质数
75 0
|
算法
初阶OI素数算法——埃拉托尼斯筛
时间复杂度比较优秀且易于理解的素数筛选法
93 0
|
8月前
|
存储 算法
算法训练,牛客.判断是不是平衡二叉树 牛客.最大子矩阵两个数组的交集牛客.数组中两个字符串的最小距离
算法训练,牛客.判断是不是平衡二叉树 牛客.最大子矩阵两个数组的交集牛客.数组中两个字符串的最小距离
算法训练,牛客.判断是不是平衡二叉树 牛客.最大子矩阵两个数组的交集牛客.数组中两个字符串的最小距离
|
9月前
|
算法 测试技术 C#
【数学归纳法 反证法】菲蜀定理
【数学归纳法 反证法】菲蜀定理
|
9月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-150 6-1 递归求二项式系数值
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-150 6-1 递归求二项式系数值
73 1
|
9月前
【每日一题Day170】LC1040移动石子直到连续 II | 双指针 贪心 数学
【每日一题Day170】LC1040移动石子直到连续 II | 双指针 贪心 数学
67 1
|
9月前
|
人工智能 算法 Java
截断数组(蓝桥杯每日一题)
截断数组(蓝桥杯每日一题)
58 0
|
C语言
【C语言刷题】喝汽水问题、上三角矩阵判定以及矩阵相等判定
【C语言刷题】喝汽水问题、上三角矩阵判定以及矩阵相等判定
95 0
【C语言刷题】喝汽水问题、上三角矩阵判定以及矩阵相等判定
《蓝桥杯每日一题》差分·Acwing3729. 改变数组元素
《蓝桥杯每日一题》差分·Acwing3729. 改变数组元素
67 0
《蓝桥杯每日一题》差分·Acwing3729. 改变数组元素
|
人工智能
《蓝桥杯每日一题》 前缀和·Acwing 3956. 截断数组
《蓝桥杯每日一题》 前缀和·Acwing 3956. 截断数组
83 0

热门文章

最新文章