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

找公司做网站运营怎么样品牌广告语经典100条

找公司做网站运营怎么样,品牌广告语经典100条,做网站单线程CPU和多线程cpu,网站图片用什么做的寻找重复数 - LeetCode 287 题解笔记 问题描述 给定一个包含 n 1 个整数的数组 nums,其数字都在 [1, n] 范围内(包括 1 和 n),已知至少存在一个重复的整数。假设 nums 只有一个重复的整数,返回这个重复的数。 要求…

寻找重复数 - LeetCode 287 题解笔记

问题描述

给定一个包含 n + 1 个整数的数组 nums,其数字都在 [1, n] 范围内(包括 1 和 n),已知至少存在一个重复的整数。假设 nums 只有一个重复的整数,返回这个重复的数。

要求

  • 不修改数组 nums
  • 只使用常量级 O(1) 的额外空间

解题思路

方法一:快慢指针法(Floyd判圈算法)

核心思想

将数组视为链表,利用快慢指针检测环的存在并找到环的入口:

  1. 数组映射为链表

    • 索引作为节点
    • 数组值作为指向下一个节点的指针
  2. 重复数字必然形成环

    • 因为多个索引指向同一个值
    • 例如 nums = [1,3,4,2,2] → 0→1→3→2→4→2→4→…(在2和4之间形成环)
算法步骤
  1. 第一阶段:检测环

    • 快指针每次走两步,慢指针每次走一步
    • 当两者相遇时,确认存在环
  2. 第二阶段:找到环入口

    • 将慢指针重置到起点
    • 快慢指针改为每次各走一步
    • 再次相遇点即为重复数字
class Solution {public int findDuplicate(int[] nums) {// 初始都从第一个元素开始int slow = nums[0];int fast = nums[0];// 第一阶段:找到相遇点do {slow = nums[slow];fast = nums[nums[fast]];} while (slow != fast);// 第二阶段:找到环的入口slow = nums[0];while (slow != fast) {slow = nums[slow];fast = nums[fast];  // 这里应该是单步移动,不是双步}return slow;}
}
复杂度分析
  • 时间复杂度:O(n)
  • 空间复杂度:O(1)

方法二:二分查找法

核心思想

利用抽屉原理进行二分查找:

  1. 数值范围二分

    • 在[1,n]范围内二分
    • 统计小于等于mid的数的个数
  2. 调整搜索范围

    • 如果计数 > mid,说明重复数在左半区
    • 否则在右半区
class Solution {
public:int findDuplicate(vector<int>& nums) {int n = nums.size();int l = 1, r = n - 1, ans = -1;while (l <= r) {int mid = (l + r) >> 1;int cnt = 0;for (int i = 0; i < n; ++i) {cnt += nums[i] <= mid;}if (cnt <= mid) {l = mid + 1;} else {r = mid - 1;ans = mid;}}return ans;}
};
复杂度分析
  • 时间复杂度:O(n log n)
  • 空间复杂度:O(1)

关键点说明

  1. 为什么快慢指针能工作

    • 重复数字导致多个节点指向同一个节点
    • 形成环后,快指针最终会追上慢指针
  2. 边界条件处理

    • 数组长度至少为2(因n≥1)
    • 保证只有一个重复数字
  3. 与常规链表环检测的区别

    • 不需要实际构建链表
    • 直接利用数组索引和值的映射关系
http://www.dtcms.com/wzjs/204795.html

相关文章:

  • 网站维护员工作内容广告平台有哪些
  • 嘉兴类网站系统总部免费网站推广2023
  • 灌云网站设计网络营销专业好就业吗
  • 推广 电子商务网站建设深圳全网推互联科技有限公司
  • 2016广州网站设计公司黄金网站软件app大全下载
  • wordpress 中文手册国内seo服务商
  • 做传媒网站公司简介深圳最新消息
  • 网站的功能测试怎么做的企业qq手机版
  • wordpress导航读取seo策略分析
  • 专门做珠宝的网站自媒体怎么入门
  • 新疆生产建设兵团编办网站朋友圈广告投放价格表
  • 淘宝上做网站可靠吗品牌营销策略有哪些方法
  • 美点网络公司网站中国网站排名100
  • 唐山做网站的google服务框架
  • 民治营销型网站费用网站优化策划书
  • 直播网站建设品牌百度网盘怎么找资源
  • 咨询网站源码免费seo排名软件
  • 长春网站设计公司网络营销的期末试题及答案
  • 创办一个app需要多少钱旺道seo营销软件
  • 1元云购网站建设网站推广工具有哪些
  • nodejs的网站开发网络营销方案总结
  • 曲周网站建设常见的网站推广方法有哪些
  • 多用户商城网站建设seo优化师就业前景
  • seo百度站长工具百度客服在线咨询电话
  • 全网网站建设优化百度网站怎么做
  • 校园网站建设方案书百度云客服人工电话
  • 网站建设添加音乐的代码网站搜索引擎优化方案的案例
  • 北京网站设计百度开户多少钱
  • 企业网站建设基本流程图手机导航下载2022新版
  • 网站关键词表格下载抚顺网络推广