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

冷水滩网站建设百度域名注册与解析服务

冷水滩网站建设,百度域名注册与解析服务,soho做网站,安徽大学最近消息2176.统计数组中相等且可以被整除的数对 问题分析 理解问题&#xff1a; 给定一个整数数组 nums 和一个整数 k。 需要找到所有满足 0 < i < j < n 且 nums[i] nums[j] 且 (i * j) 能被 k 整除的数对 (i, j) 的数目 思路 算法思路&#xff1a; 遍历数组中的每一对元…

2176.统计数组中相等且可以被整除的数对

在这里插入图片描述

问题分析

理解问题:
给定一个整数数组 nums 和一个整数 k。
需要找到所有满足 0 <= i < j < n 且 nums[i] == nums[j] 且 (i * j) 能被 k 整除的数对 (i, j) 的数目

思路

算法思路:
遍历数组中的每一对元素 (i, j)(其中 i < j)。
检查 nums[i] 是否等于 nums[j]。
如果相等,再检查 i * j 是否能被 k 整除。
如果上述条件都满足,则计数器加一。

代码

class Solution:def countPairs(self, nums: List[int], k: int) -> int:ans = 0for i in range(len(nums)-1):for j in range(i + 1, len(nums)):if nums[i] == nums[j] and (i * j) % k == 0:ans += 1return ans

复杂度分析

时间复杂度:两个for循环: ( O(n^2) )。
空间复杂度:( O(1) )

学习

优化方法:枚举右维护左
如果数组长度n = 10^5 ,暴力枚举超时
问题简化:
在这里插入图片描述

代码:

# 预处理每个数的因子
MX = 101
divisors = [[] for _ in range(MX)]
for i in range(1, MX):for j in range(i, MX, i):divisors[j].append(i)class Solution:def countPairs(self, nums: list[int], k: int) -> int:ans = 0cnt = defaultdict(int)for j, x in enumerate(nums):  # 枚举 j,计算左边有多少个符合要求的 iif j and x == nums[0]:ans += 1  # 单独统计 i=0 的情况k2 = k // gcd(k, j)  # i 必须是 k2 的倍数ans += cnt[(x, k2)]for d in divisors[j]:  # j 是 d 的倍数cnt[(x, d)] += 1return ans

复杂度分析

在这里插入图片描述

方法学习:

作者:灵茶山艾府
链接:https://leetcode.cn/problems/count-equal-and-divisible-pairs-in-an-array/solutions/1277713/mo-ni-by-endlesscheng-wegn/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.dtcms.com/wzjs/534735.html

相关文章:

  • c2c模式的典型网站个人网站开发开题报告
  • 用vs做网站教程阿里云服务器的网站备案流程
  • 做网站要考虑的问题京东购物商城官网
  • 网站建设思路方法旅游微网站分销
  • 什么网站做h5好国际网站建设
  • 廊坊高端网站建设南昌做网站的公司哪个比较好的
  • 中国监理建设协会网站哪些网站是用twcms做的
  • 自己做的网站竞价好还是单页好蔚县网站建设wl17581
  • 网站交互做的比较好的网站建设哪里比较好
  • 新网站上线 怎么做seo客户关系管理论文3000字
  • 查网站死链必用工具惠州seo代理
  • 做网站公司昆山vps主机访问网站
  • 西安专业做网站建设费用室内设计网站 知乎
  • 国外开源网站建设软件北京网站制作团队
  • 哪个企业做网站小网站代码
  • 我是做网站的 怎么才能提高业绩建立网站就是制作网页吗
  • 网站ping值如何购买凡客诚品
  • 网站怎么在成都备案河北seo网络优化培训
  • 西安电脑网站建设wordpress阅读主题
  • 网站优秀作品博客网站开发背景及作用
  • 如何做盗版视频网站德阳网站开发
  • 上海企业营销型网站建设济南网站建设知识
  • 怎么做课题组网站网站注销主体
  • 自做视频网站赚钱吗数据开放网站建设内容
  • 做产品设计之前怎么查资料国外网站百姓网二手车买卖
  • 分类信息网站推广的意义网站汇总表怎么做
  • 国外优秀网站模板电脑用虚拟机做网站
  • 威海市建设工程协会网站wordpress主题防修改
  • 游戏网站logo制作WordPress同步自媒体
  • 找工作哪个网站好58同城在哪个网站做整形