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

计算机网络技术网站开发网页设计实训报告

计算机网络技术网站开发,网页设计实训报告,免费设计素材库,wordpress柚子皮主题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/218804.html

相关文章:

  • 淘宝客网站哪个好百度关键词挖掘工具爱站网
  • 东方城乡与住房建设部网站seo外包品牌
  • 深圳品牌内衣展seo优化实训总结
  • 自己做网站能否赚钱6网络推广人员
  • 普洱市住房和城乡建设局信息公开网站软文范例大全100
  • 河南省商丘网站新网络营销
  • 中阔浩潮建设工程有限公司网站知名做网站的公司
  • wordpress 附件储存seo品牌优化
  • 做ppt好的网站有哪些方面短视频seo优化排名
  • 网站建设需要哪些技术人员推广软文200字
  • nh网站建设重庆做优化的网络公司
  • ph域名网站黄页88推广多少钱一年
  • 怎么让别人访问自己做的的网站nba最新消息新闻
  • 有没有专门做橱窗的案例网站seo外包公司哪家好
  • 网站系统建设与管理互动营销是什么
  • .net网站 作品百度热词搜索指数
  • 如果做微商需不需要开个网站好的建站网站
  • 网站维护页面怎么做的网站搜索系统
  • 广州网站制作公司联系方式便宜的seo网络营销推广
  • 网站维护是不是很难做苏州做网站哪家比较好
  • 电脑网站安全证书有问题如何解决如何免费建立一个网站
  • 著名咨询公司有哪些爱站seo工具包下载
  • 建设通网站是什么性质小程序开发框架
  • 单位网站建设维护论文网站优化排名软件
  • 南京的网站建设公司哪家好seo培训网的优点是
  • 番禺门户网站建设百度搜索收录入口
  • 淘宝美工做兼职的网站推广产品
  • 莱州相亲网站太原全网推广
  • 柳州做网站设计的公司微信引流推广精准粉
  • 台州市建设规划局网站班子成员seo优化的方法