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

网站备案 座机号码谷歌浏览器 官网下载

网站备案 座机号码,谷歌浏览器 官网下载,html源码查看在线,梧州网站平台建设公司文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 哈希表 二【题目难度】 困难 三【题目编号】 41.缺失的第一个正数 四【题目描述】 给你一个…

文章目录

  • 一【题目类别】
  • 二【题目难度】
  • 三【题目编号】
  • 四【题目描述】
  • 五【题目示例】
  • 六【题目提示】
  • 七【解题思路】
  • 八【时间频度】
  • 九【代码实现】
  • 十【提交结果】

一【题目类别】

  • 哈希表

二【题目难度】

  • 困难

三【题目编号】

  • 41.缺失的第一个正数

四【题目描述】

  • 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。
  • 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。

五【题目示例】

  • 示例 1:

    • 输入:nums = [1,2,0]
    • 输出:3
  • 示例 2:

    • 输入:nums = [3,4,-1,1]
    • 输出:2
  • 示例 3:

    • 输入:nums = [7,8,9,11,12]
    • 输出:1

六【题目提示】

  • 1 < = n u m s . l e n g t h < = 5 ∗ 1 0 5 1 <= nums.length <= 5 * 10^5 1<=nums.length<=5105
  • − 2 31 < = n u m s [ i ] < = 2 31 − 1 -2^{31} <= nums[i] <= 2^{31} - 1 231<=nums[i]<=2311

七【解题思路】

  • 对数组中的元素进行“原地哈希”,第i个元素映射到i-1的位置
  • 这样,对于1-N中的元素,如果没有空缺,那么缺失的第一个正数一定是N+1;如果有空缺,那么缺失的第一个整数一定在1-N中
  • 然后我们遍历数组,对于映射不匹配的元素直接返回即可

八【时间频度】

  • 时间复杂度: O ( n ) O(n) O(n) n n n为传入的数组的长度
  • 空间复杂度: O ( 1 ) O(1) O(1)

九【代码实现】

  1. Java语言版
class Solution {public int firstMissingPositive(int[] nums) {int n = nums.length;for(int i = 0;i < n;i++){while(0 < nums[i] && nums[i] <= n && nums[nums[i] - 1] != nums[i]){swap(nums, nums[i] - 1, i);}}for(int i = 0;i < n;i++){if(nums[i] != i + 1){return i + 1;}}return n + 1;}public void swap(int[] nums, int index1, int index2){int temp = nums[index1];nums[index1] = nums[index2];nums[index2] = temp;}
}
  1. C语言版
void swap(int* nums, int index1, int index2)
{int temp = nums[index1];nums[index1] = nums[index2];nums[index2] = temp;
}int firstMissingPositive(int* nums, int numsSize)
{int n = numsSize;for(int i = 0;i < n;i++){while(0 < nums[i] && nums[i] <= n && nums[nums[i] - 1] != nums[i]){swap(nums, nums[i] - 1, i);}}for(int i = 0;i < n;i++){if(i + 1 != nums[i]){return i + 1;}}return n + 1;
}
  1. Python语言版
class Solution:def firstMissingPositive(self, nums: List[int]) -> int:n = len(nums)for i in range(0, n):while 1 <= nums[i] and nums[i] <= n and nums[nums[i] - 1] != nums[i]:self.swap(nums, nums[i] - 1, i)for i in range(0, n):if nums[i] != i + 1:return i + 1return n + 1def swap(self, nums, index1, index2):temp = nums[index1]nums[index1] = nums[index2]nums[index2] = temp
  1. C++语言版
class Solution {
public:int firstMissingPositive(vector<int>& nums) {int n = nums.size();for(int i = 0;i < n;i++){while(0 < nums[i] && nums[i] <= n && nums[nums[i] - 1] != nums[i]){swap(nums, nums[i] - 1, i);}}for(int i = 0;i < n;i++){if(nums[i] != i + 1){return i + 1;}}return n + 1;}void swap(vector<int>& nums, int index1, int index2){int temp = nums[index1];nums[index1] = nums[index2];nums[index2] = temp;}
};

十【提交结果】

  1. Java语言版
    在这里插入图片描述

  2. C语言版
    在这里插入图片描述

  3. Python语言版
    在这里插入图片描述

  4. C++语言版
    在这里插入图片描述

http://www.zhongyajixie.com/news/63139.html

相关文章:

  • 龙江建网站营销推广策划方案范文
  • 杭州做兼职网站建设seo查询5118
  • 百度网站排名优化工具网站推广
  • 四川整站优化专业的机构指数搜索
  • 网站制作 语言选择怎么做高质量软文
  • wordpress客户端登陆江苏seo团队
  • 除了阿里巴巴还有什么网站做外贸的徐州网络推广服务
  • 渭南网站建设哪里便宜项目网
  • 创新的网站建设公司金戈枸橼酸西地那非片
  • 重视政府网站建设seo顾问张智伟
  • 贵州碧江区住房和城乡建设局网站百度前三推广
  • 网站网站开发的公司企业网络推广技巧
  • wordpress资讯站模板抖音指数查询
  • 北京营销型网站制作360营销
  • 给个龙做罗拉的网站电话号码宣传广告
  • 做网站蓝色和什么颜色搭配好看关于网站推广
  • 查网站服务器地址临沂seo优化
  • 制作 网站 盈利市场营销实务
  • 做网站建设需要什么工具现在什么网络推广好
  • 温州专业微网站制作网络公司网站接广告
  • 设迹官网百度seo关键词排名查询
  • 怎么用 c文件做网站百度网盘私人资源链接
  • 网络营销咨询网站源码网站交易平台
  • 政府网站建设申请报告体验式营销案例
  • wordpress 小程序投稿seo在线短视频发布页运营
  • 商城网站公司如何做好一个营销方案
  • 机械网站 英文湖南网站推广公司
  • 郑州市有做网站的吗营销推广型网站
  • wordpress网站制作新开网店自己如何推广
  • 网站页面设计师网站关键词优化有用吗