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

f006网站建设企业开展网站建设

f006网站建设,企业开展网站建设,网站建设的专业术语,游标卡尺 东莞网站建设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/a/405266.html

相关文章:

  • 网站建设完整方案优书网下载
  • 基于cms系统网站的建设网站建设公司应该怎么做推广
  • 网站浮漂 代码优质商品网上购物商城
  • 简述电子商务网站建设方案优质的房产网站建设
  • 如何投诉做网站的公司辽宁网站建设电话
  • 外贸网站 建设wordpress主题 手机app
  • 学校网站做等级保护机械加工网免费铺货
  • 做网站广告送报纸广告济阳县建设局网站
  • 自助免费建网站wordpress文章手机平铺
  • 关于建设网站的申请报告wordpress同分类文章
  • 网站模板flash腾讯云wordpress
  • wordpress能做交互类网站seo入门黑帽培训教程
  • 自己做网站卖衣服文案代写
  • 哪家公司建换电站网站布局设计规则
  • 网站网络推广方法软件网站的服务器
  • 佛山网站建设外包公司电销精准客户数据资源
  • 做一个英文网站视觉设计师工资一般多少
  • 上海建设工程交易中心网站酒店类网站开发的策略
  • 制作网站能挣钱网站推广策划方案的主要内容?
  • 娱乐公司网站建设价格小程序购物平台
  • app与移动网站开发考试资料企业现在有必要做网站吗
  • 教学网站建设金属网站模板
  • 大连集团网站建设推广之家app
  • 全国有哪些做服装的网站多用户商城系统网站建设
  • 做网站要求高吗如何建设手机端网站
  • 城关网站seo网络营销公司加盟
  • 淮南网站推广白银市住房与建设局网站
  • 昌邑微信网站建设公司网站丢了数据库还在
  • 做网站的员工怎么设置绩效考核企业宣传视频制作免费模板
  • 城阳建设局网站wordpress如何让页面显示一篇文章