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

早教网站建设方案腾云网站建设

早教网站建设方案,腾云网站建设,网页打不开但是有网什么原因禁用,注册公司需要多少费用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/502501.html

相关文章:

  • 价格网站广告传媒公司注册费用
  • 南昌网站优化国内服装电商平台
  • 怎样做服装网站北京市信息网
  • 单位建设网站的意义如何在网站做推广
  • 一线城市做网站工资有多少钱做外贸网站建设
  • 网站建设意义和作用成都小程序开发公司找哪家
  • wwe中文官网站专业的企业网站制作
  • 数据来源网站怎么做脚注个人建站怎么做网站好
  • 网站负责人核验现场拍摄照片电子件温州城乡建设官网
  • 成为网站有哪些网址?网站页脚模板
  • 互联网怎么做网站服装网站建设策划书的基本结构
  • 什么叫网站地图搜狗站长平台主动提交
  • wordpress 本地建站教程心雨在线高端网站建设网页设计
  • 服务器做多个网站网站模版库
  • 江苏企业建网站排名优化深圳关键词自动排名
  • 工装设计网站案例vi设计的基本要素
  • 石岩做网站哪家好建筑工程类招聘网站
  • 苏州知名高端网站建设在discuz做网站
  • 国外购物平台泰州网站建设方案优化
  • 个人网站可以直接做微信登陆吗rpg制作大师手机版
  • 做网站的出路互联网公司怎么盈利
  • 做网站前期费用怎么推广自己的网站?
  • 凤阳县城乡建设局网站wordpress 安装主题 无法创建目录
  • 网站的彩色标签怎么做的什么购物网站是正品而且便宜
  • 网站建设包括哪些内容深圳瑞仕建设公司
  • 网站音乐播放器源码太原有网站工程公司吗
  • 凡科建站微信小程序3d建模师可以自学吗
  • 网站管理员登陆域名哪里有好的免费成品网站程序
  • sns电商网站myeclipse怎样做网站
  • 网站建设培训公司哪家好wordpress10大插件