Maximum Gap
来源:互联网 发布:御彩轩计划软件 编辑:程序博客网 时间:2024/05/22 16:58
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.
class Solution {public:int maximumGap(vector<int> &num) {const int SIZE = num.size();if (SIZE < 2)return 0;for (int i = 0; i < 32; i++){vector<int> sorted(SIZE);int k[] = {0, 0};for (int j = 0; j < SIZE; j++){int filter = 1 << i;int tmp = (filter & num[j]) >> i;if (0 == tmp)k[0]++;elsek[1]++;}k[1] += k[0];for (int j = SIZE - 1; j >= 0; j--){int filter = 1 << i;int tmp = (filter & num[j]) >> i;sorted[--k[tmp]] = num[j];}for (int j = 0; j < SIZE; j++)num[j] = sorted[j];}int res = num[1] - num[0];for (int i = 2; i < SIZE; i++)res = max(res, num[i] - num[i-1]);return res;}};
0 0
- Maximum Gap
- Maximum Gap
- Maximum Gap
- MAXIMUM GAP
- Maximum Gap
- Maximum Gap
- Maximum Gap
- Maximum Gap
- Maximum Gap
- Maximum Gap
- Maximum Gap
- Maximum Gap
- Maximum Gap
- Maximum Gap
- Maximum Gap
- Maximum Gap
- Maximum Gap
- Maximum Gap
- print与flush
- FPGA芯片结构
- try...except遇到的问题
- Appium Wrapper for Java
- Lex与Yacc学习(五)之正则表达式篇
- Maximum Gap
- 静思语
- 引用计数
- 使用Cocos Code IDE设置Quick-Cocos2d-x 3.2-RC1版本语法提示的方法
- 数据挖掘之部分监督学习
- 【分享】Genymotion 性能完爆安卓模拟器,可取而代之.
- 培训的第一天
- 什么是第三方登录,第三方登录如何选择
- LeetCode(179) Largest Number