LeetCode 870. 優勢シャッフル(C++)
1633 ワード
等しい2つの大きさの配列
例1:
例2:
ヒント:
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]
ヒント:
1 <= A.length = B.length <= 10000
0 <= A[i] <= 10^9
0 <= B[i] <= 10^9
C++
class Solution {
public:
vector advantageCount(vector& A, vector& B)
{
vector res;
int n=A.size();
vector tmpA=A;
vector tmpB=B;
sort(tmpA.begin(),tmpA.end());
sort(tmpB.begin(),tmpB.end());
map> vec;
vector other;
int k=0;
int flag=0;
for(int i=0;itmpB[i])
{
vec[tmpB[i]].push_back(tmpA[j]);
flag=1;
}
else
{
other.push_back(tmpA[j]);
}
if(flag)
{
flag=0;
k=j+1;
break;
}
}
}
k=0;
for(int i=0;i