当前位置: 首页 > news >正文

织梦网站地图如何做网页制作学情分析

织梦网站地图如何做,网页制作学情分析,wordpress无法上传png,推广引流的10大渠道Problem: 2561. 重排水果 文章目录思路解题过程复杂度Code思路 首先,去掉两个数组的交集,不需要交换。去掉后,每个剩余数字在两个数组中的总出现次数必须为偶数,这样才能均分。 之后,经过一系列猜想,在每个…

Problem: 2561. 重排水果

文章目录

  • 思路
  • 解题过程
  • 复杂度
  • Code

思路

  • 首先,去掉两个数组的交集,不需要交换。去掉后,每个剩余数字在两个数组中的总出现次数必须为偶数,这样才能均分。

  • 之后,经过一系列猜想,在每个数至多交换一次的前提下,最优交换方式是把一个从小到大排序,另一个从大到小排序,然后交换 ai 和 bi

  • 又因为没说不可以交换两次,如果两个数组里有一个全局最小值 min_val(两个篮子所有元素里的最小值),用 min_val 当 “中介”,可能让交换成本更低 。

    • 可以分两步:

      1. 交换 basket1 里的 min_val 和 basket2 里的 bi → 此时 min_val 到了 basket2,bi 到了 basket1。
      2. 交换 basket2 里的 min_val 和 basket1 里的 ai → 此时 min_val 回到 basket1,ai 到了 basket2。

      这两次交换后,ai 和 bi 完成交换,且 min_val 又回到了最初的数组里(相当于 “来回跳了一次,位置没变” )。

      这两次交换的成本是: 2·min_val

解题过程

  1. 首先使用哈希表统计两个篮子中每个元素的出现次数。
  2. 检查所有元素的总数量是否为偶数,若有元素总数为奇数则无法平衡,返回 - 1。
  3. 找出两个篮子中需要交换的元素,计算每个元素需要交换的数量。
  4. 找到两个篮子中的最小值,用于计算间接交换的成本。
  5. 对需要交换的元素进行排序,通过比较直接交换和间接交换(通过最小值中转)的成本,选择最小成本累加。

复杂度

  • 时间复杂度: O(nlogN)O(nlogN)O(nlogN)
  • 空间复杂度: O(n)O(n)O(n)

Code

class Solution {
public:long long minCost(vector<int>& basket1, vector<int>& basket2) {unordered_map<int, int> cnt1, cnt2, total;// 统计两个篮子中元素的出现次数for (int num : basket1) {cnt1[num]++;total[num]++;}for (int num : basket2) {cnt2[num]++;total[num]++;}// 检查每个元素的总数是否为偶数,若有奇数则不可能平衡for (auto& [num, count] : total) {if (count % 2 != 0)return -1;}// 找出需要交换的元素vector<int> diff1, diff2;for (auto& [num, count] : cnt1) {int other = cnt2[num];if (count > other) {int need = (count - other) / 2;for (int i = 0; i < need; i++) {diff1.push_back(num);}}}for (auto& [num, count] : cnt2) {int other = cnt1[num];if (count > other) {int need = (count - other) / 2;for (int i = 0; i < need; i++) {diff2.push_back(num);}}}// 找到两个篮子中的最小值int min_val = INT_MAX;for (int num : basket1)min_val = min(min_val, num);for (int num : basket2)min_val = min(min_val, num);// 计算最小成本long long cost = 0;sort(diff1.begin(), diff1.end());sort(diff2.rbegin(), diff2.rend()); // 降序排列for (int i = 0; i < diff1.size(); i++) {cost +=min({diff1[i], diff2[i], 2 * min_val});}return cost;}
};
http://www.dtcms.com/a/441047.html

相关文章:

  • php做的网站如何运行工信部网站备案流程
  • 网站建设咨询话术专业建筑公司网站
  • 鲜花网站开发做怎么网站推广
  • 同时做网站建设和代账wordpress备份和恢复
  • 购物网站开发介绍《php网站开发》电子课件
  • 书城网站建设规划书开公司网站创建费用
  • 常州网站排名优化知名的wordpress主题
  • 免费源码资源站娱乐网站建设流程
  • 如何利用网站做淘宝联盟简洁大气的网站首页
  • 中国国内网站建设哪家强个人网站做导购要什么经营许可
  • 网站前端后端分开做可以吗学院网站怎么做的
  • 网站界面需求门户类网站是什么意思
  • 大学网站建设目标网站制作商家入驻
  • 宁波网站推广联系方式电子商务网站建设及推广
  • c做网站那个平台能免费做网站
  • 免费做头像网站有哪些济源网站建设的公司
  • 建设小网站教程天津网站快速排名提升
  • 中国建设银行网站-诚聘英才网站实名认证需要什么资料
  • 沈阳市建设工程信息网站wordpress 标签设置主页
  • wap的网站模板简述创建网站的基本流程
  • 网站客户留言怎样做卖活网站
  • 怎样建设网站卖农产品江西城开建设集团有限公司网站
  • 爱用建站官网郑州网站制作价格
  • 淮安网站排名优化公司wordpress文章摘要字数
  • 中国建设报社门户网站厦门网站建设合同
  • 做学校网站的目的然后搭建网站
  • 网站首页做的好看站长字体
  • 湘西州建设银行网站北京网站制作南昌
  • ipad 建网站网站建设如何销售
  • 苏州园区网站制作公司工业软件界面设计