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

计算机网络技术网站开发精准粉丝引流推广

计算机网络技术网站开发,精准粉丝引流推广,惠山区住房和建设厅网站,帮别人做彩票网站吗2364.统计坏数对的数目 问题 问题分析 根据题目要求&#xff0c;(i, j) 是一个坏数对的条件是&#xff1a; i < j j - i ! nums[j] - nums[i]&#xff0c;即 nums[j] - j ! nums[i] - i 因此&#xff0c;我们可以转换问题&#xff1a;对于每个 j&#xff0c;找到所有 i &l…

2364.统计坏数对的数目

问题

在这里插入图片描述

问题分析

根据题目要求,(i, j) 是一个坏数对的条件是:
i < j
j - i != nums[j] - nums[i],即 nums[j] - j != nums[i] - i
因此,我们可以转换问题:对于每个 j,找到所有 i < j 且 nums[j] - j != nums[i] - i 的 i 的数量

思考

首先考了简单枚举:

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

字符串长的情况在这里插入图片描述
数据量大会导致超时

其他解法

计算 nums[i] - i 的值

首先,我们计算每个位置 i 上 nums[i] - i 的值,并存储这些值。

使用哈希表维护

使用一个哈希表来维护到当前 j 位置为止,所有 nums[i] - i (i < j)的出现次数。
遍历数组:对于每个 j,计算 nums[j] - j。
查询哈希表:在哈希表中查询 nums[j] - j 的出现次数,这个次数即为到当前位置 j 为止,与 nums[j] - j 相等的 nums[i] - i(i < j)的数量。
更新结果:坏数对的数量为 j(当前索引)减去上述查询得到的次数(即不相等的数量)。
更新哈希表:将 nums[j] - j 的出现次数加 1。

代码

class Solution:def countBadPairs(self, nums: List[int]) -> int:# 初始化计数器diff_counter = Counter()bad_pairs_count = 0for j, num in enumerate(nums):# 当前位置的差值current_diff = num - j# 当前位置之前的相同差值数量same_diff_count = diff_counter[current_diff]# 坏数对数量:当前位置之前的所有位置数减去相同差值的数量bad_pairs_count += j - same_diff_count# 更新差值计数器diff_counter[current_diff] += 1return bad_pairs_count

复杂度分析

时间复杂度:O(n),其中 n 是 nums 的长度。我们只进行了一次遍历,并且每次操作(查询和更新哈希表)的平均时间复杂度为 O(1)。
空间复杂度:O(n),最坏情况下,哈希表中需要存储 n 个不同的差值

学习

在这里插入图片描述

class Solution:def countBadPairs(self, nums: List[int]) -> int:ans = comb(len(nums), 2)cnt = defaultdict(int)for i, x in enumerate(nums):ans -= cnt[x - i]cnt[x - i] += 1return ans

时间复杂度:O(n),其中 n 是 nums 的长度。
空间复杂度:O(n)。

学习来源

:灵茶山艾府

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

相关文章:

  • 做网站用什么开源程序宁波seo推广优化哪家强
  • 怎样建设网站流程2024的新闻有哪些
  • 服务器怎么做网站教程网络推广营销方案100例
  • 上海做网站哪家公司好宁波seo企业网络推广
  • 山东做网站靠谱的公司发广告平台有哪些
  • 成全视频免费观看在线看 综合 笔记 视频抖音矩阵排名软件seo
  • 淘宝网站开发者百度网页游戏大厅
  • 婴儿做相册的网站大型集团网站建设公司
  • wordpress自定义登陆页面百度关键词优化培训
  • wordpress新建字段文大侠seo博客
  • 宝盒官方网站什么是搜索引擎优化推广
  • 上海住房建设部官方网站培训课程有哪些
  • 门头沟做网站常见的网站推广方法有哪些
  • 做网站什么程序网站运营培训学校
  • 徐家汇网站建设宣传广告怎么做吸引人
  • 用dw做网站怎么做出下拉菜单西点培训前十名学校
  • 成全视频免费观看在线看厨房电视剧下载郑州网络seo
  • 2018网站流量怎么做青岛seo百科
  • 做网站的哪家比较好域名免费查询
  • 建设领域现场专业人员报名网站拉新推广平台
  • 网站作品集怎样注册个人网站
  • python做网站教程缅甸今日新闻
  • 24小时看b站视频的软件有哪些it培训机构怎么样
  • 衡阳网站推广搜索引擎优化百度百科
  • 网页app制作入门教程网站优化公司哪个好
  • 网站制作 视频绍兴seo计费管理
  • 百度mip wordpresswindows7优化大师
  • 网站开发 方案企业宣传标语
  • 五金店网站模板seo平台怎么样
  • 网站免费推广怎么做百度竞价冷门产品