type
status
date
slug
summary
tags
category
icon
password
创建时间
Apr 13, 2025 01:51 AM
给你一个正整数数组
nums
。同时给你一个长度为
m
的整数数组 queries
。第 i
个查询中,你需要将 nums
中所有元素变成 queries[i]
。你可以执行以下操作 任意 次:- 将数组里一个元素 增大 或者 减小
1
。
请你返回一个长度为
m
的数组 answer
,其中 answer[i]
是将 nums
中所有元素变成 queries[i]
的 最少 操作次数。注意,每次查询后,数组变回最开始的值。
前缀和 + 二分
思路:在 nums 排序后,如果 queries 在 nums[0] 至 nums[n-1]区间之外,只需要求两者和的差值就行了 如果在 nums[0] 至 nums[n - 1]
区间之内,就无法向上面这么算了。 但是,我们可以将 nu划分为两个区间,继续构造出在区间之外的情况。
涉及到了类型转换,没办法使用
partial_sum
计算前缀和,需要手动计算。📎 参考
- 无