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

html5技术可以制作网站吗建设网站总经理讲话范本

html5技术可以制作网站吗,建设网站总经理讲话范本,wordpress本地数据库,成都学生网站制作219. 存在重复元素 II 解题思路 问题描述 给定一个整数数组 nums 和一个整数 k&#xff0c;要求判断数组中是否存在两个 不同的索引 i 和 j&#xff0c;使得&#xff1a; nums[i] nums[j]且满足 abs(i - j) < k 如果满足上述条件&#xff0c;返回 true&#xff0c;否则…

219. 存在重复元素 II 解题思路

问题描述

给定一个整数数组 nums 和一个整数 k,要求判断数组中是否存在两个 不同的索引 ij,使得:

  • nums[i] == nums[j]
  • 且满足 abs(i - j) <= k

如果满足上述条件,返回 true,否则返回 false

示例

示例 1:

输入:nums = [1,2,3,1], k = 3
输出:true

示例 2:

输入:nums = [1,0,1,1], k = 1
输出:true

示例 3:

输入:nums = [1,2,3,1,2,3], k = 2
输出:false

提示

  • 1 <= nums.length <= 10^5
  • -10^9 <= nums[i] <= 10^9
  • 0 <= k <= 10^5

解题思路

这道题可以通过哈希表来实现高效的查找。我们需要检查数组中是否存在两个相同的元素,其索引差值不超过 k。一个直观的做法是利用哈希表记录每个数字上次出现的位置,并与当前索引进行比较。

详细步骤:

  1. 使用一个字典 last 来存储每个数字最近一次出现的索引。
  2. 遍历 nums 数组中的每个元素,对于每个元素:
    • 如果当前数字已经出现在字典中,计算当前索引与上次索引的差值。
    • 如果差值小于等于 k,直接返回 True,表示满足条件。
    • 如果差值大于 k,更新字典中该数字的最新索引为当前索引。
  3. 如果遍历结束后没有找到符合条件的两个元素,返回 False

时间复杂度分析:

  • 遍历数组的时间复杂度是 O(n),其中 n 是数组 nums 的长度。
  • 哈希表的插入和查找操作平均时间复杂度是 O(1)。
  • 因此,总时间复杂度为 O(n)。

空间复杂度分析:

  • 需要使用哈希表来存储数字和对应的索引,最坏情况下哈希表中可能存储 n 个元素,因此空间复杂度是 O(n)。

代码实现

class Solution:def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:last = {}for i, x in enumerate(nums):if x in last and abs(last[x] - i) <= k:return Truelast[x] = ireturn False

代码解释:

  1. last = {}:初始化一个空字典,用于存储数字及其最近的索引。
  2. for i, x in enumerate(nums)::遍历数组 numsi 是索引,x 是当前元素。
  3. if x in last and abs(last[x] - i) <= k::检查当前数字 x 是否在字典 last 中,如果在,计算当前索引 i 与上次索引 last[x] 之间的差值。如果差值小于等于 k,返回 True
  4. last[x] = i:更新字典 last 中数字 x 的最新索引。
  5. return False:遍历结束后如果没有满足条件的元素,返回 False

边界情况

  • 数组长度为 1:如果数组只有一个元素,显然不可能有两个不同的索引满足条件,应该直接返回 False
  • k = 0:如果 k 为 0,表示要求两个相同的数字索引是完全相同的,因此当 nums 中有重复元素时,返回 True,否则返回 False

总结

这道题考察了如何使用哈希表进行高效查找。通过记录每个元素上次出现的索引,并在遍历过程中进行条件判断,我们能够在 O(n) 的时间复杂度内完成任务,避免了暴力解法中 O(n^2) 的性能瓶颈。

http://www.15wanjia.com/news/159588.html

相关文章:

  • 东莞网站优化一般多少钱百度app官网下载
  • 湖北省随州市建设厅网站旅游网页设计说明200字
  • 长沙门户网站建设seo站群系统
  • 中国交通建设工程监督管理局网站织梦建站系统教程
  • 怎么看网站建设有多久ps网站设计与制作
  • 嘉兴做微网站好看的官网源码
  • 合肥金融网站设计辽宁城乡建设工程招投标网
  • 网站开发设计文案最新网站模板
  • 建站公司如何在抖音平台开店室内设计公司名字大全
  • 企业建站模版公司网站开发费用计入
  • 做视频点播网站要多少带宽重庆网站制作1000
  • 北京网站案例seo外包上海
  • 龙胜时代大厦 做网站网站相应速度
  • 东莞政务网站建设方案产品外观设计的重要性
  • 无锡网站建设兼职具有口碑的柳州网站建设哪家便宜
  • 除了阿里巴巴还有什么网站做外贸的网站点击量与排名
  • 网络营销分析河南seo公司
  • 写作网站挣钱对比统计局网站建设情况
  • 广州专业的做网站简单又快的科学小制作
  • wordpress建站打不开二级页面王也道长高清头像 微信
  • 广州企业建站网站厦门总全设计装饰工程有限公司
  • 怎么做切片网站晋江网站建设价格
  • 廊坊专业网站制作服务深圳网站建设公司电话
  • 大连html5网站建设费用怎么把地图放到网站上
  • 宝山区网站建设十堰做网站排名
  • 微舍 微网站 怎么做做网站用别人的图片
  • 广告店名字怎么取好抓取的网站如何做seo
  • 搜索网站建设推广优化响应式网站咨询
  • 网站手机客户端开发教程asp.net 4.0网站建设基础教程 下载
  • 高唐做网站推广百度网站标题优化