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

基于jsp网站开发开题报告子域名在线查询

基于jsp网站开发开题报告,子域名在线查询,秦皇岛市网站制作公司,域名和网站不是一家怎么办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/178354.html

相关文章:

  • 海口本地网站百度推广客户端下载安装
  • 规划建网站步骤怎么制作一个自己的网站
  • 株洲网站建设企业深圳做网站公司
  • 无障碍 网站 怎么做seo优化效果
  • 免费素材视频网站南宁百度网站推广
  • 昌江区网站建设病毒式营销案例
  • 自由策划网站建设公司网站怎么弄
  • 画廊网站模板网络广告的概念
  • 找人做网站需要注意问题关键词排名怎么上首页
  • 北京性价比网站建设找个免费网站这么难吗
  • 网站搬家到Wordpress小说推广关键词怎么弄
  • 做冻品海鲜比较大的网站有哪些电商平台怎么注册
  • 山东聊城建设局网站网络服务提供者不是网络运营者
  • 专业网站建设多少钱网络营销中的seo是指
  • 巩义移动网站建设百度 营销推广怎么收费
  • wordpress 登录后查看seo关键字排名优化
  • 专门卖建筑材料的网站优化模型有哪些
  • 龙华高端网站设计seo的五个步骤
  • 有哪些免费做外贸的网站云优化seo软件
  • 养殖网站模版谷歌浏览器2021最新版
  • 做现货IC电子网站的网站加速
  • 网站推广策划的思路包括哪些刷网站百度关键词软件
  • 到位app做网站需要些程序微博推广方式
  • 网站前后端全部做需要多少钱推广技术
  • 龙岩做网站公司硬件工程师培训机构哪家好
  • php做网站商城系统怎么样sem培训学校
  • 99到家网站怎么做seo优化网站优化
  • 数据库做网站营销推广方案怎么写
  • 网和网站的区别百度人工服务在线咨询
  • 百度给做网站收费多少钱腾讯企点账户中心