【leetcode刷题(3),Java程序员晋升路线图

n == nums.length

1 <= n <= 105

1 <= nums[i] <= n

进阶:你能在不使用额外空间且时间复杂度为 O(n) 的情况下解决这个问题吗? 你可以假定返回的数组不算在额外空间内。

Solution


鸽笼原理

由题意可得,1n的位置表示1n个笼子,如果出现过,相应的“鸽笼”就会被占掉,我们将数字置为负数表示被占掉了。

最后再遍历一遍,如果“鸽笼”为正数就是没出现的数字。

Code


所有leetcode代码已同步至github

欢迎star


/**

 * @author yitiaoIT

 */

class Solution {

    public List<Integer> findDisappearedNumbers(int[] nums) {

        for (int i = 0; i < nums.length; i++) {

            nums[Math.abs(nums[i])-1]=-Math.abs(nums[Math.abs(nums[i])-1]);

        }

        ArrayList<Integer> list = new ArrayList<>();

        for (int i = 0; i < nums.length; i++) {

            if (nums[i]>0){

                list.add(i+1);

            }



        }

        return list;

    }

} 

Result


复杂度分析

  • 时间复杂度:O(N)

🌈寻宝


⭐今天是坚持刷题更文的第14/100天

⭐各位的点赞、关注、收藏、评论、订阅就是一条创作的最大动力

⭐更多算法题欢迎关注专栏《leetcode》

为了回馈各位粉丝,礼尚往来,给大家准备了一条多年积累下来的优质资源,包括 学习视频、面试资料、珍藏电子书等

怎么领取请大家自己找,寻宝游戏现在开始。

找不到可以评论留言,一条就会注意到你。

总结

至此,文章终于到了尾声。总结一下,我们谈论了简历制作过程中需要注意的以下三个部分,并分别给出了一些建议:

CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】

  1. 技术能力:先写岗位所需能力,再写加分能力,不要写无关能力;
  2. 项目经历:只写明星项目,描述遵循 STAR 法则;
  3. 简历印象:简历遵循三大原则:清晰,简短,必要,要有的放矢,不要海投;

以及最后为大家准备的福利时间:简历模板+Java面试题+热门技术系列教程视频

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

历模板+Java面试题+热门技术系列教程视频

[外链图片转存中…(img-LyFXMuHz-1630923239047)]

[外链图片转存中…(img-GHMhzKpf-1630923239048)]

[外链图片转存中…(img-UXY8OZl8-1630923239049)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值