2022-02-03:最佳的碰头地点。
有一队人(两人或以上)想要在一个地方碰面,他们希望能够最小化他们的总行走距离。
给你一个 2D 网格,其中各个格子内的值要么是 0,要么是 1。
1 表示某个人的家所处的位置。这里,我们将使用 曼哈顿距离 来计算,其中 distance(p1, p2) = |p2.x - p1.x| + |p2.y - p1.y|。
力扣296。

答案2022-02-03:

求行最优,求列最优。最优行和最优列确定一个点,这个点就是需要返回的值。
时间复杂度:O(N^2)。
空间复杂度:O(N)。

代码用golang编写。代码如下:

package mainimport "fmt"func main() {grid := [][]int{{1, 0, 0, 0, 1},{0, 0, 0, 0, 0},{0, 0, 1, 0, 0},}ret := minTotalDistance(grid)fmt.Println(ret)
}func minTotalDistance(grid [][]int) int {N := len(grid)M := len(grid[0])iOnes := make([]int, N)jOnes := make([]int, M)for i := 0; i < N; i++ {for j := 0; j < M; j++ {if grid[i][j] == 1 {iOnes[i]++jOnes[j]++}}}total := 0i := 0j := N - 1iRest := 0jRest := 0for i < j {if iOnes[i]+iRest <= iOnes[j]+jRest {total += iOnes[i] + iRestiRest += iOnes[i]i++} else {total += iOnes[j] + jRestjRest += iOnes[j]j--}}i = 0j = M - 1iRest = 0jRest = 0for i < j {if jOnes[i]+iRest <= jOnes[j]+jRest {total += jOnes[i] + iRestiRest += jOnes[i]i++} else {total += jOnes[j] + jRestjRest += jOnes[j]j--}}return total
}

执行结果如下:


左神java代码

2022-02-03:有一队人(两人或以上)想要在一个地方碰面,他们希望能够最小化他们的总行走距离。 给你一个 2D 网格,其中各个格子内的值要么是 0,要么是相关推荐

  1. 2023年 计算机考研 资料集(2022.02.03)

    西南交通大学计算机考研--数据结构真题系列 西南交通大学计算机考研--数据结构真题系列_haimianjie2012的专栏-CSDN博客_西南交通大学计算机考研 西南交通大学计算机专业考研真题答案详解 ...

  2. 程序员面试金典:面试题 02.03. 删除中间节点

    1. 题目 面试题 02.03. 删除中间节点 2. 描述 实现一种算法,删除单向链表中间的某个节点(即不是第一个或最后一个节点),假定你只能访问该节点. 示例: 输入: 单向链表 a->b-& ...

  3. python----根据字典内的值实现排序

    """ 要求: 2020/11/1, 看了书本130之后的内容,发现还是不会,于是我搜了一篇优秀的博客 no1=dict(name1="余浩然",av ...

  4. 力扣-两数之和 (梦开始的地方)

    力扣-两数之和(梦开始的地方) 来源:力扣网 https://leetcode.cn/problems/two-sum/ 题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组 ...

  5. 某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件: 1)A和B两人中至少去一人; 2)A和D不能一起去; 3)A、E和F三人中要派两人去; 4)B和

    某侦察队接到一项紧急任务,要求在A.B.C.D.E.F六个队员中尽可能多地挑若干人,但有以下限制条件: 1)A和B两人中至少去一人: 2)A和D不能一起去: 3)A.E和F三人中要派两人去: 4)B和 ...

  6. 计算机网络之浅谈移动互联网(3G-4G-5G与WEB1.0-2.0-3.0)

    一.什么是移动互联网 ? 二.什么是3G网络 ? 三.什么是4G网络 ? 四.什么是5G网络 ? 五.移动互联网的发展 ? 补充.WEB1.0 - 2.0 - 3.0 ?   一.什么是移动互联网? ...

  7. 只能在公司代码XXX的期间 2022/03 和2022/02 中记账,MMPV打开物料账记账期间

    在收货的时候报错:只能在公司代码XXX的期间 2022/03 和2022/02 中记账 说明:当前的时间与目前已开的记账期间不符. MMRV查看当前记账期间 以下截图只是示例,没有当时的截图 用MMP ...

  8. 2022年新能源汽车产业集群百人会

    2022年新能源汽车产业集群百人会   3月25日-3月27日,2022年第八届中国电动汽车百人会(以下简称百人会)在线上举办.本届论坛以"迎接新能源汽车市场化发展新阶段"为主题. ...

  9. 《安富莱嵌入式周报》第254期:2022.02.21--2022.02.27

    往期周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - P ...

  10. python修改列表中字典内的值_python修改字典内key对应值的方法

    python学习笔记:字典 python版本:Python 2.6.6 系统环境:CentOS release 6.2 x86_64 本文参考了互联网上前辈的一些文章 一.字典是python中最灵活的 ...

最新文章

  1. Microbiome:植物根际微生物组也有昼夜节律
  2. PLSQL_SQL Loader的概念和用法(概念)
  3. VBS递归遍历文件夹
  4. 最常用的Eclipse快捷键
  5. 用springmvc作接口时返回json数据中文乱码
  6. 给新手程序员的一些建议
  7. Java生鲜电商平台-高并发核心技术订单与库存实战
  8. 清华计算机自主招生试题,2017年清华大学自主招生笔试题
  9. Git前世今生-版本控制软件的发展
  10. 移动前端开发之viewport的深入理解 --- 待续
  11. batchplot插件用法_Batchplot设置使用指南,实现批量打印CAD图纸
  12. 如何让自己每天按时睡觉
  13. PS学习总结一:入门版必备的基础功能
  14. js return加分号_js分号的重要性
  15. 向淘宝学运营:移动MM速长成
  16. iOS 限制输入框的字符长度
  17. 天地图覆盖物的添加,工具类的使用
  18. MapGuide概述与特点
  19. 单元测试的必要性?一文聊聊单元测试
  20. Django实现简单网页弹出警告

热门文章

  1. 互联网+机器人”碰撞出啥样火花? 华数机器人以大数据云平台为智能制造连接“大脑”...
  2. 考研常识:考研加分和照顾政策有哪些?
  3. 一线互联网互联网架构师自述:GitHub标星10w+,2021最新Android笔经
  4. Excel怎么合并两个或者多个单元格里面的内容
  5. python pandas按照行数切分文件
  6. 西部数据移动硬盘哪个型号好_西部数据移动硬盘怎么样(西数移动硬盘系列区别)...
  7. 【C语言】输出一个菱形
  8. easybcd 无法添加linux条目,easybcd无法添加条目怎么办-easybcd无法添加条目的解决办法...
  9. linux内核 精简 编译,精简LINUX内核配置及快速编译的方法收集
  10. 13 个 Python 必备的知识,建议收藏!