AcWing
  • 首页
  • 活动
  • 题库
  • 竞赛
  • 更多
    • 题解
    • 分享
    • 问答
    • 应用
  • App
  • 教育优惠
    New
  • 登录/注册

AcWing 14. 不修改数组找出重复的数字    原题链接    简单

作者: 作者的头像   天元之弈 ,  2022-08-01 21:50:51 ,  所有人可见 ,  阅读 469


11


如果不是O(1)的空间,那我们可以和上到题一样桶排序过,但要$O(1)$的话,可以采取两层for循环的暴力做法,思路是枚举数组中的数,如果有两个数位置不同但数值相同,那么直接return这个数,否则无解return -1。

代码:

class Solution {
public:
    int duplicateInArray(vector<int>& nums) {
        for (int i = 0; i < nums.size(); i ++)
            for (int j = 0; j < i; j ++)//唯一要注意的点就是j不能与i相同
                if (nums[i] == nums[j])
                    return nums[i];
        return -1;
    }
};

祝看到这篇题解的人$2022RP++$!!!

0 评论

你确定删除吗?

© 2018-2023 AcWing 版权所有  |  京ICP备2021015969号-2
用户协议  |  隐私政策  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标 qq图标
请输入绑定的邮箱地址
请输入注册信息