- 鸽笼原理计算最大间距
问题:要求线性时间复杂度下计算数组元素在排序后的最大间距。
如果直接对数组排序那么时间复杂度是nlogn,这里使用桶,设置n+1个桶这样n个元素放入后至少出现一个空桶,这就使得不同桶之间的元素差大于同内部的元素差(因为空桶两侧的桶元素差>=width,桶内元素差<width)。计算所有相邻非空桶之间元素差值(相邻桶之间的元素差可能大于空桶两侧的桶元素之间元素差)。
int largestDiff(vector<int>& nums) {
int n = nums
订阅专栏 解锁全文
143

被折叠的 条评论
为什么被折叠?



