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

灯饰网站建设网络营销活动方案

灯饰网站建设,网络营销活动方案,中山市技术支持 中山网站建设,广州微信网站建设哪家好目录 题目描述: 分析: 完整代码: 题目链接: https://www.nowcoder.com/share/jump/819478881694767416272 题目描述: 给定一个无重复元素的整数数组nums,请你找出其中没有出现的最小的正整数 进阶&am…

目录

题目描述:

分析:

完整代码:


 

题目链接: icon-default.png?t=N7T8https://www.nowcoder.com/share/jump/819478881694767416272

题目描述:

给定一个无重复元素的整数数组nums,请你找出其中没有出现的最小的正整数

进阶: 空间复杂度 O(1),时间复杂度 O(n)

示例1

输入:[1,0,2]

返回值:3

示例2

输入:[-2,3,4,1,5]

返回值:2

示例3

输入:[4,5,6,8,9]

返回值:1

分析:

当看完题目和所给的三个例子后我们可以得出以下结论: 

  1. 所给数组中的数据是随机的整数且是无序的;
  2. 所给数组中的数据有负数;
  3. 返回值必须不小于 1 。

题目要求的空间复杂度 O(1),时间复杂度 O(n),那么我们就应该尽量减少空间的开辟。

本题可以使用哈希表但是这样空间复杂度就是O(n)了所以这个方法应该是实在想不出解法了再使用。

那么此时我们就可以上面得出的结论入手,既然数组是无序的那么我们就可以先使用库方法将其进行排序。

    public int minNumberDisappeared (int[] nums) {Arrays.sort(nums);        }

当排好序之后我们的思路一下就打开了,此时由于数组内可能会有不大于 0 的数出现所以我们可以先用一个循环来跳过这部分

    public int minNumberDisappeared (int[] nums) {int ret = 0; //返回值int len = nums.length; //数组长度Arrays.sort(nums);int i = 0; //记录数组遍历的位置while (i < len && nums[i] <= 0) {i++;}}

此时数组就剩下不小于 0 的数了,此时再进行判断就非常简单了,我们就可以直接判断两个数之间是否存在整数如果存在就返回这个整数。如果数组是 [1,2,3,4] 这样的那么我们就返回最后一个数加一。

        while (i < len - 1) {if (nums[i] + 1 < nums[i+1]) {return nums[i] + 1;}i++;}ret = nums[len-1] + 1;return ret;

最后就到了每次做题都必不可少的环节了:极限值判断

再代码的最前面对数组进行判断:如果数组不存在就返回最小的正整数 1

        if (nums == null || nums.length == 0) {return 1;}

在第一个循环之后判断如果数组中没有 1 那么就返回 1

        if (nums[i] - 1 >= 1) {return 1;}

 此时如果忽略库函数的复杂度那么本题我们所使用的复杂度就是:空间复杂度 O(1),时间复杂度 O(n)。

 

完整代码:

import java.util.*;public class Solution {public int minNumberDisappeared (int[] nums) {// write code hereif (nums == null || nums.length == 0) {return 1;}int ret = 0;int len = nums.length;Arrays.sort(nums);int i = 0;while (i < len && nums[i] <= 0) {i++;}if (nums[i] - 1 >= 1) {return 1;}while (i < len - 1) {if (nums[i] + 1 < nums[i+1]) {return nums[i] + 1;}i++;}ret = nums[len-1] + 1;return ret;}
}
http://www.cadmedia.cn/news/13289.html

相关文章:

  • 外贸网站建设哪里做得好上海关键词优化方法
  • 聊城网站建设服务好长春做网络优化的公司
  • 网站策划包括哪些内容网站软件下载大全
  • 东阳建设网站谷歌搜索引擎免费入口
  • 可以做用户调研的网站深圳网站建设开发公司
  • 国家税务总局网上办税服务平台快速网站排名优化
  • 加工平台校准系统seo网站培训班
  • 平台网站建设需要什么技术企业推广宣传方式
  • 福州网站建设网络营销平台
  • 南昌专业网站建设百度搜索引擎营销如何实现
  • 西安做网站收费价格常见的网络营销策略都有哪些
  • 网站建设规划书百度文库seo排名工具给您好的建议
  • 网站你懂我意思正能量晚上不用下载网络推广培训去哪里好
  • 平面设计图形北京搜索引擎优化seo专员
  • 德阳市建设管理一体化平台网站市场推广方案怎么做
  • 定制网站建设公司排行大兴今日头条新闻
  • 个人网站设计毕业论文10000字营销推广方案怎么写
  • ps做网站导航东莞做网络推广的公司
  • 百度系优化保定百度推广优化排名
  • 网站制作价格甄选乐云践新数字营销软件
  • 网站排名推广软件培训机构招生方案模板
  • 网站建设费摊销年限百度指数手机版
  • 网站生成二维码seo知名公司
  • 邯郸网站设计价位博客网站
  • 郑州免费网站建设哪家好微信公众号怎么做文章推广
  • 绿色科技网站建设写软文推广
  • 网站建设合同用贴印花税吗个人网页怎么制作
  • 网站推广策划方案书站长工具的网址
  • 地方网站收录爱站网关键词挖掘
  • 平台网站建设有哪些方面大连seo