870. 优势洗牌
优势 洗牌
2023-09-27 14:26:25 时间
给定两个大小相等的数组 nums1 和 nums2,nums1 相对于 nums2 的优势可以用满足 nums1[i] > nums2[i] 的索引 i 的数目来描述。
返回 nums1 的任意排列,使其相对于 nums2 的优势最大化。
示例 1:
输入:nums1 = [2,7,11,15], nums2 = [1,10,4,11]
输出:[2,11,7,15]
示例 2:
输入:nums1 = [12,24,8,32], nums2 = [13,25,32,11]
输出:[24,32,8,12]
提示:
1 <= nums1.length <= 105
nums2.length == nums1.length
0 <= nums1[i], nums2[i] <= 109
class Solution {
public:
vector<int> advantageCount(vector<int>& nums1, vector<int>& nums2) {
int n = nums1.size();
vector<int> idx1(n), idx2(n);
iota(idx1.begin(), idx1.end(), 0);
iota(idx2.begin(), idx2.end(), 0);
sort(idx1.begin(), idx1.end(), [&](int i, int j) { return nums1[i] < nums1[j]; });
sort(idx2.begin(), idx2.end(), [&](int i, int j) { return nums2[i] < nums2[j]; });
vector<int> ans(n);
int left = 0, right = n - 1;
for (int i = 0; i < n; ++i) {
if (nums1[idx1[i]] > nums2[idx2[left]]) {
ans[idx2[left]] = nums1[idx1[i]];
++left;
}
else {
ans[idx2[right]] = nums1[idx1[i]];
--right;
}
}
return ans;
}
};
相关文章
- 绿色数据中心的几大优势
- 德州扑克人机大战,AI 有着压倒性优势,局势几乎不可逆转
- 基于私有云优势的迁移靠谱吗?
- 大数据塑造吕梁竞争新优势
- 私有云相对更流行的公有云和混合云有什么优势?
- 集中采购管理系统的优势:为企业带来哪些实际好处?
- 数商云SRM系统询比价有何优势?供应商平台助力汽车零部件企业快速查找供应商
- 工业品B2B电商平台5大运营优势,快速降低企业采购成本
- 数商云:竞争优势的来源 ——全渠道物流服务生态系统
- LeetCode·每日一题·870.优势洗牌·桶排序
- 陈奇:IBM大数据的战略和技术优势
- Gigamon全面产品系列增强技术领先优势
- 桌面虚拟化为基础的云计算有什么优势?
- 解密AIGC:人工智能生成内容技术的优势和未来发展趋势
- 移动网络应用开发中,使用 HTTP 协议比起使用 socket 实现基于 TCP 的自定义协议有哪些优势?
- Waymo在自动驾驶领域优势明显,但并非无懈可击