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

lc1029-两地调度

题目描述

  • 给定一个数组,长度为 2n,表示 2n 个人
  • 每个元素都是一个二元组,前一个数表示去 a 的路费,后一个数表示去 b 的路费
  • 需要让 n 个人去 a,另 n 个人去 b,求最小总花费

示例

输入:costs = [[10,20],[30,200],[400,50],[30,20]]
输出:110
解释:
第一个人去 a
第二个人去 a
第三个人去 b
第四个人去 b
总花费:10 + 30 + 50 + 20 = 110

题解

  • 思路:贪心
    • 让去 a 便宜的人去 a,让去 b 便宜的人去 b
    • 方法:对 costs 数组按二元组的差值排序。前 n 个人差值小,说明去 a 便宜;后 n 个人差值大,说明去 b 便宜
    • 怎么想到的?答:看题解~
func twoCitySchedCost(costs [][]int) int {sort.Slice(costs, func(i, j int) bool {return costs[i][0] - costs[i][1] < costs[j][0] - costs[j][1]})res := 0n := len(costs) / 2for i := 0; i < n; i ++ {res += costs[i][0]}for i := n; i < 2 * n; i ++ {res += costs[i][1]}return res
}
http://www.zskr.cn/news/6252.html

相关文章:

  • Java的运算符
  • HTML打包EXE工具中的WebView2内核更新指南
  • EXE一机一码打包加密大师 - 打包加壳原理
  • 动态修改线程池参数
  • 什么是网络+HTTP详解
  • 黑白世界
  • 【大三下】资料,仅内部学习使用
  • 挖掘PDF生成器中的SSRF漏洞:从发现到利用
  • 做题记录 2
  • c# ConcurrentDictionary
  • 核桃OJ【S组 第二轮】信息学竞赛10w选手模拟考
  • 第一次个人编程作业
  • 数学分析习题课 note
  • 洞察中国HR SaaS薪酬市场:2025企业数字化转型中的选型策略
  • 9.16 一些记录
  • 溢出存储变量
  • retrieving repo key for OS unencrypted from
  • 3. Explain详解与索引最佳实践
  • 软工个人项目作业
  • 表格如何设置多人在线编辑?坚果云实时编辑,告别版本冲突!
  • 白嫖党狂喜!爆肝一下午搞定 URL 转 HTML 幻灯片神器,ISlide 9900 资源点从此是路人
  • 22222222 - idle
  • 继承
  • HyperWorks许可监控
  • ThreadLocal
  • 我的大学规划
  • 理解 Linux 系统中的熵(Entropy)
  • ubuntu 18.04安装mysql8.4.5
  • Radxa E20C 安装 OpenWrt
  • 《ESP32-S3使用指南—IDF版 V1.6》第三十八章 SPIFFS实验