LeetCode 870 優勢洗牌 C語言版

2021-09-24 20:41:12 字數 801 閱讀 4093

給定兩個大小相等的陣列 a 和 b,a 相對於 b 的優勢可以用滿足 a[i] > b[i] 的索引 i 的數目來描述。

返回 a 的任意排列,使其相對於 b 的優勢最大化。

示例 1:

輸入:a = [2,7,11,15], b = [1,10,4,11]

輸出:[2,11,7,15]

示例 2:

輸入:a = [12,24,8,32], b = [13,25,32,11]

輸出:[24,32,8,12]

分析:典型貪心演算法: a的最大值大於b[的最大值就放到b最大值的位置,否則就選擇乙個最小的放在這個位置

(1)排序:將a和b從大到小排序,但是要保留b元素原來的位置。

(2) 雙指標遍歷,大於b就放在b原來的位置,否則放a中最小的元素

大體就是這麼個思想,我也說不明白,看**吧

void sort(int* a,int* b,int l,int r)		//特殊快速排序

a[i]=k;

if(b) b[i]=t;

sort(a,b,l,i-1);

sort(a,b,i+1,r);

}int* advantagecount(int* a, int asize, int* b, int bsize, int* returnsize)

else

k++;

}*returnsize=asize;

return c;

}

Leetcode 870 優勢洗牌

題目描述 給定兩個大小相等的陣列a和b,a 相對於 b 的優勢可以用滿足a i b i 的索引i的數目來描述。返回a的任意排列,使其相對於b的優勢最大化。示例 1 輸入 a 2,7,11,15 b 1,10,4,11 輸出 2,11,7,15 示例 2 輸入 a 12,24,8,32 b 13,25...

leetcode 870 優勢洗牌

題目描述 給定兩個大小相等的陣列 a 和 b,a 相對於 b 的優勢可以用滿足 a i b i 的索引 i 的數目來描述。返回 a 的任意排列,使其相對於 b 的優勢最大化。我的思路 這道題思路蠻好想的,就是每次貪心的找a中最小的大於當前b中元素的元素,聽起來有點繞?那給你四個字 田忌賽馬 是的,這...

LeetCode打卡 870 優勢洗牌

給定兩個大小相等的陣列 a 和 b,a 相對於 b 的優勢可以用滿足 a i b i 的索引 i 的數目來描述。返回 a 的任意排列,使其相對於 b 的優勢最大化。示例 1 輸入 a 2,7,11,15 b 1,10,4,11 輸出 2,11,7,15 示例 2 輸入 a 12,24,8,32 b ...