zoukankan      html  css  js  c++  java
  • 剑指offer---数组中重复的数字

    class Solution {
    public:
        // Parameters:
        //        numbers:     an array of integers
        //        length:      the length of array numbers
        //        duplication: (Output) the duplicated number in the array number
        // Return value:       true if the input is valid, and there are some duplications in the array number
        //                     otherwise false
        bool duplicate(int numbers[], int length, int* duplication) {
            if(length<=0||numbers==NULL)
                return false;
            //判断每一个元素是否非法
            for(int i=0;i<length;++i)
            {
                if(numbers[i]<=0||numbers[i]>length-1)
                    return false;
            }
            for(int i=0;i<length;++i)
            {
                while(numbers[i]!=i)
                {
                    if(numbers[i]==numbers[numbers[i]])
                    {
                        *duplication = numbers[i];
                        return true;
                    }
                    //交换numbers[i]和numbers[numbers[i]]
                    int temp = numbers[i];
                    numbers[i] = numbers[temp];
                    numbers[temp] = temp;
                }
            }
            return false;
             
        }
    };
  • 相关阅读:
    jforum二次开发教程
    gitPermission denied (publickey).
    用keytool创建Keystore和Trustsotre文件只需五步
    导入数据库时报错1067 – Invalid default value for ‘字段名’
    WordPress用户角色及其权限管理编辑插件:User Role Editor汉化版
    http://blog.csdn.net/wh211212/article/details/53005321
    centos 安装 mysql
    卸载apache服务
    Cordova插件相关常用命令
    UI 交互
  • 原文地址:https://www.cnblogs.com/159269lzm/p/7282622.html
Copyright © 2011-2022 走看看