zoukankan      html  css  js  c++  java
  • ACwing 刷题 1.1

    题目:

    思路:首先想到的是先把数组里的元素排序后,在对比相邻的两个数组值,相同则输出。但是老调试不过,就很烦。

    最后 偷偷看了题解

    思路是先创建于一个个数为n,值全为0 的数组,然后对遍历已知数组值,将该数组值对应创建数组的序号处加一,此处用if语句判断,如果有重复则再次判断时成立,小技巧是nums[i]++ 先判断在加一!!

    代码:

    class Solution {
    public:
    int duplicateInArray(vector<int>& nums) {
    int n=nums.size();
    vector<int> temp(n,0);
    for(auto i:nums)
    {
    if(i<0 ||i>=n)
    {
    return -1;
    }
    }
    for(int i=0;i<n;i++)
    {
    if(temp[nums[i]]++){
    return nums[i];
    }
    }
    return -1;
    }
    };

    作者:赵强
    链接:https://www.acwing.com/solution/acwing/content/1111/
    来源:AcWing
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    centos 安装Phpstorm
    PostgreSQL 里面的 BIGSERIAL
    如何下载symfony
    换行
    javaScript 真经 小感 this 指向
    css3 抖动
    jq 抖动效果
    还是 js 替代 vw vh 了
    常用 Math 属性及方法
    js 判断浏览器类型及版本
  • 原文地址:https://www.cnblogs.com/lizimu/p/10555578.html
Copyright © 2011-2022 走看看