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

网站开发维护干嘛做网站的需求调研

网站开发维护干嘛,做网站的需求调研,赣州网站建设专家,菜鸟教程网站是怎么做的龟兔赛跑算法#xff08;Floyd’s Cycle-Finding Algorithm#xff09;寻找重复数 问题描述 给定一个长度为 N1 的数组 nums#xff0c;其中每个元素的值都在 [1, N] 范围内。根据鸽巢原理#xff0c;至少有一个数字是重复的。请找出这个重复的数字。 要求#xff1a; …龟兔赛跑算法Floyd’s Cycle-Finding Algorithm寻找重复数 问题描述 给定一个长度为 N1 的数组 nums其中每个元素的值都在 [1, N] 范围内。根据鸽巢原理至少有一个数字是重复的。请找出这个重复的数字。 要求 时间复杂度 O(N)空间复杂度 O(1)不能使用哈希表等额外存储 算法思路龟兔赛跑法 我们可以将数组视为一个链表其中 nums[i] 表示 i → nums[i] 的边。由于存在重复数字这个链表必然存在一个环而环的入口就是重复的数字。 步骤 快慢指针找相遇点判断是否有环 慢指针 slow 每次走 1 步slow nums[slow]快指针 fast 每次走 2 步fast nums[nums[fast]]直到 slow fast说明两者在环内相遇。 找环的入口即重复的数字 将 fast 重置到起点 0。slow 和 fast 都每次走 1 步直到再次相遇相遇点就是重复的数字。 代码实现 public int findDuplicate(int[] nums) {int slow 0;int fast 0;// 第一阶段快慢指针找相遇点do {slow nums[slow]; // 慢指针走 1 步fast nums[nums[fast]]; // 快指针走 2 步} while (slow ! fast);// 第二阶段找环的入口重复数字fast 0;while (slow ! fast) {slow nums[slow];fast nums[fast];}return slow; // 或 fast此时它们相等 }为什么这个算法有效 第一阶段找相遇点 假设环的长度为 L环外长度为 F。当 slow 进入环时fast 已经在环内且距离 slow 为 d0 ≤ d L。由于 fast 每次比 slow 多走 1 步它们会在 L - d 步后相遇。 第二阶段找环入口 设 slow 和 fast 在环内相遇时slow 走了 F a 步a 是环内走的步数。fast 走了 F a kL 步k 是整数因为 fast 可能绕环多圈。由于 fast 速度是 slow 的 2 倍 [ 2(F a) F a kL \implies F a kL \implies F kL - a ]这意味着从起点走 F 步刚好到达环的入口即重复数字。 示例 输入 nums [1, 3, 4, 2, 2] 步骤 第一阶段 slow 0 → 1 → 3 → 2 → 4 → 2 → 4 → ...fast 0 → 1 → 3 → 2 → 4 → 2 → 4 → ...它们在 2 或 4 相遇具体取决于实现。 第二阶段 fast 重置到 0然后 slow 和 fast 都每次走 1 步 fast 0 → 1 → 3 → 2slow 4 → 2 它们在 2 相遇因此 2 是重复数字。 复杂度分析 时间复杂度O(N)最多遍历 2N 次。空间复杂度O(1)仅用两个指针。 总结 龟兔赛跑算法是一种高效的链表环检测方法适用于 检测链表是否有环。找出数组中的重复数字数组值在 [1, N] 范围内。不修改原数组且满足 O(1) 额外空间。
http://www.hkea.cn/news/14373119/

相关文章:

  • 网站建设公司问答营销案例石家庄网站空间
  • 丽水建设局网站文件网站建设 东方网景
  • seo教程技术整站优化自己做的网站如何用手机去查看
  • 大望路网站建设公司近期的重大新闻
  • php网站开发环境说明注册公司流程和资料
  • 校园网站开发的意义网站规划与建设
  • 做甜品台的网站公司在网站做广告怎么做分录
  • 枣庄网站建设济南专业的设计网站
  • 做网站需要写配置文件吗想搞网站建设
  • 源码做微信电影网站济南做网站多钱
  • 网站服务公司人工成本进什么费用大数据查询官网
  • 深圳网站设计电话网站后台更新了 前台不现实
  • 使用本地主机做网站宁波无痛人流医院哪家好
  • 淄博建站哪家好企业网站模板价格
  • 手机网站 设计趋势凡科建设网站安全吗
  • 特效素材免费网站网络营销的八大能力
  • 宣传型网站功能定位住房和建设建设局网站
  • 虚拟主机可以做视频视频网站吗教做世界美食的网站
  • 建网站 必须学html吗网站内容建设方法步骤
  • 做网络推广要做网站吗wordpress标签静态
  • 翻译网站模板云南网站建设招商
  • 绍兴seo网站优化海棠网站
  • 南阳阿里巴巴网站推广从网站下载壁纸做海报涉及
  • 如何自己学做网站西安网站建设案例
  • 个人网站logo设计做网站能申报只是产权么
  • 长春网站seo定做网站建设
  • 用手机怎么做网站广西壮族自治区建设厅官方网站
  • 网站建设公司税率网站怎么做关键词库
  • 太原seo外包公司简单的网站更新 关键词优化 关键词互联
  • 在百度上建网站怎么建设互联网服务平台登录