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

合肥小程序开发南宁seo内部优化

合肥小程序开发,南宁seo内部优化,vs怎么做网页,北京一度网站建设leetcode41. 缺失的第一个正数 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums [1,2,0] 输出:3 解释&#xf…

leetcode41. 缺失的第一个正数

给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。

请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。

示例 1:

输入:nums = [1,2,0]
输出:3
解释:范围 [1,2] 中的数字都在数组中。
示例 2:

输入:nums = [3,4,-1,1]
输出:2
解释:1 在数组中,但 2 没有。
示例 3:

输入:nums = [7,8,9,11,12]
输出:1
解释:最小的正数 1 没有出现。

在这里插入图片描述

目录

  • leetcode41. 缺失的第一个正数
  • 题目分析
  • 算法介绍
  • 算法步骤
  • 算法流程
  • 算法代码
  • 算法分析
  • 相似题目

题目分析

这是一个关于数组处理的问题。题目要求实现一个函数firstMissingPositive,该函数接受一个整数数组nums,并返回数组中第一个缺失的正整数。

算法介绍

为了解决这个问题,我们可以使用一种特殊的标记方法。首先,我们将所有小于等于0的元素替换为n+1,其中n是数组的长度。然后,我们遍历数组,将每个元素的正负号反转,如果它是一个正数。通过这种方式,我们可以标记数组中出现的所有正整数。最后,我们再次遍历数组,找到第一个未标记的正整数,即为答案。

算法步骤

  1. 遍历数组nums,将所有小于等于0的元素替换为n+1
  2. 再次遍历数组nums,反转每个元素的正负号,如果它是一个正数。
  3. 第三次遍历数组nums,找到第一个未标记的正整数,即为答案。

算法流程

开始
初始化 n
遍历 nums 替换小于等于0的元素为 n+1
遍历 nums 反转每个元素的正负号 如果它是一个正数
遍历 nums 找到第一个未标记的正整数
返回找到的正整数
结束

算法代码

class Solution {
public:int firstMissingPositive(vector<int>& nums) {int n = nums.size();for (int& num: nums) {if (num <= 0) {num = n + 1;}}for (int i = 0; i < n; ++i) {int num = abs(nums[i]);if (num <= n) {nums[num - 1] = -abs(nums[num - 1]);}}for (int i = 0; i < n; ++i) {if (nums[i] > 0) {return i + 1;}}return n + 1;}
};

算法分析

  • 时间复杂度:O(n),其中n是数组nums的长度。我们只需要遍历数组三次。
  • 空间复杂度:O(1),因为除了输入数组外,我们只使用了常数个额外空间。
  • 易错点
    • 确保正确地将所有小于等于0的元素替换为n+1
    • 在反转正负号时,确保只对正数进行操作。

相似题目

题目链接
缺失的第一个正数LeetCode 41
缺失的数字LeetCode 268

请注意,以上表格仅为示例,实际链接可能需要根据具体平台和题目编号进行调整。

http://www.hkea.cn/news/448656/

相关文章:

  • 手机网站怎样做枸橼酸西地那非片的功效与作用
  • 邯郸做wap网站的公司六六seo基础运营第三讲
  • 六安市建设银行网站seo编辑的工作内容
  • seo外包平台福州百度快照优化
  • 橙子建站广告怎么投放竞价网络推广
  • 中国公司查询网站网络公司起名
  • wordpress邮箱内容更改一键关键词优化
  • 楼市最新消息2022年房价走势seo网络推广经理
  • wordpress免费中文企业主题seo权重优化软件
  • 周口网站建设哪家好济南专业seo推广公司
  • 济南网站忧化怎么把抖音关键词做上去
  • 网站建设与维护的题目网站点击软件排名
  • 网站收录服务企业网络的组网方案
  • nba排名灰色词seo排名
  • 如何建自己的个人网站深圳市seo上词多少钱
  • 迎访问中国建设银行网站_永久免费的电销外呼系统
  • 类似AG网站建设网络营销的十大特点
  • 河北盘古做的网站用的什么服务器品牌策划与推广
  • 做网站开发的是不是程序员品牌营销与推广
  • 安卓android软件seo搜索引擎优化方式
  • 网站设计培训课程引流推广平台
  • 做淘宝美工需要知道的网站app软件推广平台
  • 做自己个人网站搜索竞价
  • 兰州网站优化哪家好手机系统流畅神器
  • 广东深圳住房和城乡建设部网站文章优化软件
  • java制作动态网站开发怎么可以让百度快速收录视频
  • 做网站管理好吗阳泉seo
  • 网站排名优化建设seo人人网
  • html5可以做动态网站惠州seo计费
  • 商城网站带宽控制河南网站建设哪家公司好