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

都安做网站信息流广告代运营

都安做网站,信息流广告代运营,凡科做的手机网站可以导出来,类似微薄利网站怎么做给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums [1,2,0] 输出:3 解释:范围 [1,2] 中的数字都在数组…

给你一个未排序的整数数组 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 没有出现。

解题思路

方法一: 

        先使用Arrays.sort()方法排序后使用二分查找,时间复杂度O(nlogn)不满足题目要求

方法二:

        将数组存储到哈希集合中,后在遍历确认当前数containsKey()是否存在集合中,空间复杂度O(n),不满足题目要求

方法三:

        将数组当作哈希表存储,将每个值存到数组对应位置中,如值1存到数组0号索引中,值2存到数组1号索引中,依次类推,若是当前位置的值不是应该对应的值,则找到第一个缺失的正数,若到最后一个还没找到,则数组长度为第一个缺失的值。

解题

        由于方法一、方法二不满足题目要求,使用方法三解决,附上代码

class Solution {  /**  * 找到数组中第一个缺失的正整数  *  * @param nums 输入的整数数组  * @return 数组中第一个缺失的正整数  */  public int firstMissingPositive(int[] nums) {  int len = nums.length;  // 第一步:将所有不在1到len范围内的元素,以及重复的元素(通过交换到正确的位置来消除重复)进行处理  // 这个过程会确保每个位置i(0到len-1)上的元素,要么是nums[i] = i + 1,要么是nums[i] <= 0或者nums[i] > len  for (int i = 0; i < len; i++) {  //使用while要确保当前位置的值不用移动了,可能要移动多次while (nums[i] > 0 && nums[i] <= len && nums[nums[i] - 1] != nums[i]) {  swap(nums, nums[i] - 1, i);  }  }  // 第二步:遍历数组,找到第一个不满足nums[i] = i + 1的位置  // 如果存在这样的位置,那么i + 1就是第一个缺失的正整数  // 如果遍历完整个数组都没有找到这样的位置,说明数组包含了从1到len的所有正整数,因此缺失的第一个正整数是len + 1  for (int i = 0; i < len; i++) {  if (nums[i] != i + 1) {  return i + 1;  }  }  // 如果数组完整包含了从1到len的所有正整数,则返回len + 1  return len + 1;  }  /**  * 交换数组中两个元素的位置  *  * @param nums 整数数组  * @param a    要交换的第一个元素的索引  * @param b    要交换的第二个元素的索引  */  void swap(int[] nums, int a, int b) {  int tmp = nums[a];  nums[a] = nums[b];  nums[b] = tmp;  }  
}

http://www.tj-hxxt.cn/news/81483.html

相关文章:

  • 天津网站制作网站天津建站网
  • 手机验证登录网站开发短视频营销推广方式
  • 网站制作合同范本一站式推广平台
  • 六年级做网站的软件成都网站设计公司
  • 太原论坛深圳seo专家
  • 江苏网站建设多少钱海外广告投放渠道
  • 相关网站怎么做搜索引擎优化seo方案
  • 苏州网页关键词优化东莞seo托管
  • 一个虚拟机怎么做两个网站综合查询
  • 做美容网站公司郑州竞价托管
  • 学校网站建设xml宁德市医院
  • 湖北省建设厅政务公开网站常德网站建设制作
  • 网站的效果图公司个人怎么做网络推广
  • 石家庄网站建设哪家好怎么查看网站的友情链接
  • wordpress建站博客园优化用户体验
  • 申请域名哪个网站好百度指数是啥
  • 网站开发和运营维护怎么查看域名是一级还是二级域名
  • 网站收录什么意思免费注册推广网站
  • 青岛网站优化公司哪家好营销型网站优化
  • 桂林建站平台哪家好网络推广是什么意思
  • 在线设计房屋平面图谷歌搜索引擎优化seo
  • 前端培训靠谱吗云南优化公司
  • 律师行业做网站的必要性百度推广售后客服电话
  • 邯郸网站设计报价腾讯广告联盟
  • 图片类网站模板宁波优化推广找哪家
  • 建设银行网银网站特色在线seo工具
  • 多视频网站建设淄博做网站的公司
  • 发稿类别是什么无锡网站建设方案优化
  • 列出网站开发建设的步骤内部优化
  • 国外域名。国内网站电脑零基础培训学校