当前位置: 首页> 健康> 科研 > 重庆十大房地产公司_龙岩seo培训_今日国家新闻_今天上海重大新闻事件

重庆十大房地产公司_龙岩seo培训_今日国家新闻_今天上海重大新闻事件

时间:2025/8/28 18:08:13来源:https://blog.csdn.net/qq_45964225/article/details/147635130 浏览次数:0次
重庆十大房地产公司_龙岩seo培训_今日国家新闻_今天上海重大新闻事件

思路

关键有两点

原地哈希

把1-len的数分别映射到下标为0 - len-1的地方中

交换后,接着查看下标i被交换过来的数,直到他到了该到的位置或者超出范围

使用while,把不满足映射关系的点一直交换,直到下标指向的位置符合要求

代码

class Solution {public int firstMissingPositive(int[] nums) {// 哈希的思想,进行原地哈希// 下标为i,应该存放i+1int len = nums.length;for(int i = 0; i < len; i++){// 把i下标的数放在该放的位置,交换后,i下标来新数了,接着交换while(nums[i] > 0 && nums[i] <= len  && nums[nums[i] - 1] != nums[i] ){int tmp = nums[ nums[i]-1 ];nums[ nums[i]-1 ] = nums[i];nums[i] = tmp;}}for(int i = 0; i < len; i++){if(nums[i] != i + 1){return i + 1;}}return len + 1;}
}
关键字:重庆十大房地产公司_龙岩seo培训_今日国家新闻_今天上海重大新闻事件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: