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

百度推广做的网站可以用吗网站站点管理在哪里

百度推广做的网站可以用吗,网站站点管理在哪里,重庆社区app最新版本下载,社交网站只做1. 题目大意 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 2. 思路分析 示例 1: 输入:nums [3,4,-1,1] 输出:2 解释&#xff1…

1. 题目大意

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

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

2. 思路分析

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

根据示例,对于一个长度为 N 的数组,其中没有出现的最小正整数只能在[1, N+1]中。这是因为如果[1, N]都出现了,那么答案是N+1,否则答案是 [1, N]中没有出现的最小正整数。

题目又要求我们不能使用额外空间,所以我们直接对原数组进行操作。因为我们只需要关注数组中[1, N]之间的数,所以可以把值i, 置换到数组对应下标的位置,得到nums[i-1] = i。这里忽略<=0 & >N的值。

上面提到过程中,本质上涉及元组两个元素的交换,如果nums[i-1] != i则需要反复执行上面的流程。示例1变换流程:

arrayindex说明
[3, 4, -1, 1]0
[-1, 4, 3, 1]0首先交换3和-1,虽然nums[0]!=1但是出现负值接着往前走
[-1, 1, 3, 4]1置换1和4
[1, -1, 3, 4]1因为nums[1] != 2, 所以继续置换,使得nums[0] = 1
[1, -1, 3, 4]2nums[2] = 3,继续
[1, -1, 3, 4]2nums[3] = 4,结束

最后我们只需要查找置换后数组中nums[i] != i-1的情况,如果数组中都没有出现上述情况则直接返回N+1

3. 代码示例

Java版本

class Solution {public int firstMissingPositive(int[] nums) {for(int i=0; i<nums.length; i++){while(nums[i] > 0 && nums[i] <= nums.length && nums[i] != i+1 && nums[i] != nums[nums[i]-1]){ // nums[i] != nums[nums[i]-1]:避免数组中有值重复的情况int n = nums[i]-1;int tmp = nums[n];nums[n] = nums[i];nums[i] = tmp;}}System.out.println(Arrays.toString(nums));for(int i=0; i<nums.length; i++){if(nums[i] != (i+1) || nums[i] <= 0)return i+1;}return nums.length+1;}
}

Python版本

class Solution:def firstMissingPositive(self, nums: List[int]) -> int:l = len(nums)if l == 0:return 1for i in range(l):while(1 <= nums[i] <= l and nums[i] != i+1 and nums[i] != nums[nums[i] - 1]):# nums[nums[i] - 1], nums[i] = nums[i], nums[nums[i] - 1]for i in range(l):if nums[i] != i+1:return i+1return l+1

在上述的while循环中nums[i] != nums[nums[i]-1]是为了避免数组中有值重复的情况,如果不加出处理就会一直被置换,陷入死循环。

http://www.yayakq.cn/news/65735/

相关文章:

  • 建一个自己的网站需要多少钱php网站源码大全
  • 沪上名家装饰公司官网鄂州seo厂家
  • 上海网站建设哪家技术好wordpress 内容置顶
  • 百度不让访问危险网站怎么办wordpress生成16位名称
  • H5响应式网站示例福州小程序开发公司
  • 浏览器网站进入口班级优化大师使用指南
  • 网站备案知识如何建设网站 企业
  • 手机网站模板欣赏汽水音乐怎么推广赚钱
  • 怎么做查询数据输入的网站app网站建设开发
  • 网站开发页面怎么进建站价格会差
  • 做不锈钢管网站手机网站开发 .net
  • 广州网站优化排名系统全网热搜榜
  • 旅游类网站模板免费下载网站建设岗位廉政风险防控
  • 做外贸网站公司哪家wordpress宽屏插件
  • 网站建设合同制打开网站弹出图片代码
  • 中国网站建设中心帮忙做文档的网站
  • 青岛网站推广德清建设银行网站
  • 建站工具megento菏泽做网站设计
  • 需求网站2003年前深圳注册公司有什么要求
  • 做网站用那一种语言最好淘宝客的网站怎么做
  • 网页小游戏flash不能正常运行做网站需要知道优化吗
  • 阿里巴巴吧做网站上海ktv最新通知
  • 怎么怎么做网站青岛网站推广公司排名
  • 济南网站建设选聚搜网络网页设计与网站建设完全学习手册pdf
  • 小型网站建设案例百度文库推广网站
  • dede织梦仿站网站建设专业做网站方案ppt
  • 做网站用不用云服务器百度资讯指数
  • 做效果图的方便的网站电商网站开发 思维导图
  • 网站建设产品图片尺寸要求自己如何做网站统计
  • 如何做企业网站及费用问题校园兼职网站开发用例图