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

网站建设技术问题网络推广软件免费

网站建设技术问题,网络推广软件免费,青岛app开发公司前十名,网站建设博客题目链接:https://leetcode.cn/problems/check-if-it-is-a-good-array/description/ 思路 方法:数论 题目意思很简单,让你在数组 nums中选取一些子集,可以不连续,子集中的每个数再乘以任意的数的和是否为1&#xff…

在这里插入图片描述

题目链接:https://leetcode.cn/problems/check-if-it-is-a-good-array/description/

思路

方法:数论

题目意思很简单,让你在数组 nums中选取一些子集,可以不连续,子集中的每个数再乘以任意的数的和是否为1,是则原数组就是个「好数组」

关键词:每个数相乘任意一个数相加,数论里「裴蜀定理」是一个关于最大公约数的定理。也是拥有类似的推导(具体证明可参考「裴蜀定理」OI Wiki)。

「裴(pei)蜀定理」:设 a,b 是不全为零的整数,则存在整数 x,y, 使得 ax+by= gcd(a,b).

「裴蜀定理」同样也可以推广到多个整数的情况。对于全不为 0 的任意 n 个整数 a1, a2, a3, a4 … an,记这 n 个整数的最大公约数为 0,则对于任意 n 个整数 x1, x2, x3, x4 … xn都满足 ∑i=1nai∗xi\sum_{i=1}^{n} a_i * x_ii=1naixi 是 g 的倍数。

推论:正整数 a1 到 an 的最大公约数是 1 的充分必要条件是存在 n 个整数 x1 到 xn 满足 ∑i=1nai∗xi=1\sum_{i=1}^{n} a_i * x_i = 1i=1naixi=1

回到原题,我们判断数组 nums 是否是个「好数组」。由「裴蜀定理」推导 0 < i < n,题目等价于求 nums 中的全部数字的最大公约数是否等于 1,若等于 1 则原数组为「好数组」,否则不是。

如何求数组 nums 的 最大公约数 g,初始化 g = nums[0],遍历数组,更新 g = gcd(g, nums[i]),遍历完全部数字后,g 即为数组 nums 中全部的元素的最大公约数。然后判断其是否等于 1 即可。在实现过程中我们也可以进一步做优化:如果遍历过程中出现最大公约数等于 1 的情况,则由于 1 和任何正整数的最大公约数都是 1,此时可以提前结束遍历。

代码示例

func isGoodArray(nums []int) bool {// 有数据为[1]的情况if len(nums) == 1 && nums[0] == 1{return true}g := nums[0]for i := 1; i < len(nums); i++ {g = gcd(g, nums[i])if g == 1 {return true}}return false
}func gcd(a, b int) int {if a % b == 0 {return b}return gcd(b, a % b)
}

在这里插入图片描述

复杂度分析

  • 时间复杂度:O(n + log⁡m\log mlogm),其中n表示数组 nums 长度,m 表示与最大公约数 g 迭代次数最长的数字,其中求单次最大公约数的时间复杂度为 O(log⁡m\log mlogm),两个数求最大公约数,其中最大公约数 g 自增不减,总的求最大公约数所需时间为O(log⁡m\log mlogm),所以总的所需时间O(n + log⁡m\log mlogm)
  • 空间复杂度:O(1),不需要额外申请空间
http://www.wangmingla.cn/news/95653.html

相关文章:

  • 南京h5设计公司微信seo
  • wordpress设置主页面网络优化公司哪家好
  • 百度短链接在线生成器国内做seo最好公司
  • 台州电子商务网站建设电商网络推广怎么做
  • 南阳网站建设南阳阿里数据
  • 月租网站空间百度搜索链接入口
  • 卢湾专业做网站百度网站检测
  • 做站群的网站怎么来2021小说排行榜百度风云榜
  • 阿里企业邮箱怎么用新网站seo外包
  • 国外唯美flash个人网站欣赏杭州最专业的seo公司
  • 如何做电影网站 去哪里找片源网址导航大全
  • 网站制作厂家推广互联网推广
  • 昌吉做网站推广的公司湖南专业关键词优化服务水平
  • 高端网站建设模板网站建设报价
  • 河北建设厅网站无法刷身份证站长数据
  • 怎么选择合肥网站建设百度指数如何提升
  • 做网站需要的技术东莞网站建设平台
  • 区块链开发商上海百度关键词优化公司
  • domain 网站建设谷歌搜索引擎大全
  • 软件专业做学校网站论文怎么选题推广引流工具
  • 做任务 网站西安关键词优化服务
  • 网站制作过程电商平台推广
  • 哪些门户网站可以做推广全国今日新增疫情
  • 使用html5做语音标注网站手机导航下载2022新版
  • 南京市网站建设怎么宣传自己的产品
  • 简易app制作网页优化包括什么
  • 做动画视频的网站深圳竞价托管公司
  • 网站建设图百度seo优化价格
  • wap网站建设方案seo是啥软件
  • 自己做网站需要的技术西安seo关键词排名优化