[leetcode]Maximum Gap

来源:互联网 发布:新版淘宝怎么买电影票 编辑:程序博客网 时间:2024/05/10 06:29

问题描述:

Given an unsorted array, find the maximum difference between the successive elements in its sorted form.

Try to solve it in linear time/space.

Return 0 if the array contains less than 2 elements.

You may assume all elements in the array are non-negative integers and fit in the 32-bit signed integer range.


代码:

int maximumGap(vector<int> &num) {  //C++        if( num.size() <2)             return 0;               map<int,int> myMap;        for(int i=0; i<num.size(); i++)            myMap.insert(make_pair(num[i],i));                int pos =1,max=0,dif,temp;            map<int,int>::iterator iter=myMap.begin();        temp = iter->first;        iter++;        for(; iter!=myMap.end(); iter++)        {            dif = abs(iter->first-temp);            if(dif >max)                max = dif;            temp = iter->first;                    }        return max;    }


0 0
原创粉丝点击