题目参考这里,也是leetcode-cn举办的编程大赛的一道题,只想到了暴力法解决,超时了:

# -*- coding:utf-8 -*-
__author__ = 'ShawDa'class Solution:def assignBikes(self, workers, bikes):res, dis_dict, index = [0]*len(workers), {}, list(range(len(workers)))for i, worker in enumerate(workers):for x, y in bikes:dis_dict[i] = dis_dict.get(i, []) + [(abs(worker[0]-x)+abs(worker[1]-y))]for _ in range(len(workers)):min_list = [float('inf')]*len(workers)for i in index:min_list[i] = min(dis_dict[i])ret = min_list.index(min(min_list))  # 工人号码bike_index = dis_dict[ret].index(min(min_list))for k, v in dis_dict.items():v[bike_index] = float('inf')res[ret] = bike_indexindex.remove(ret)return resprint(Solution().assignBikes([[0,0],[2,1]], [[1,2],[3,3]]))

Google面试题:人和自行车匹配相关推荐

  1. [Google] 人和自行车匹配

    2D平面上,有m个人(P),n辆自行车(B),还有空白(O)满足以下条件 1.m < n.  2.不存在两个人,到同一辆自行车距离相等, 距离用abs(x1-x2) + abs(y1-y2)定义 ...

  2. python正则表达式面试_【剑指offer】面试题19. 正则表达式匹配

    面试题19. 正则表达式匹配 请实现一个函数用来匹配包含'. '和''的正则表达式.模式中的字符'.'表示任意一个字符,而''表示它前面的字符可以出现任意次(含0次).在本题中,匹配是指字符串的所有字 ...

  3. Google 面试题和详解

    Google的面试题在刁钻古怪方面相当出名,甚至已经有些被神化的味道.这个话题已经探讨过很多次,而科技博客 BusinessInsider这两天先是贴出15道Google面试题并一一给出了答案,其中不 ...

  4. 【Google面试题】有四个线程1、2、3、4同步写入数据…C++11实现

    Google面试题 有四个线程1.2.3.4.线程1的功能就是输出1,线程2的功能就是输出2,以此类推-现在有四个文件ABCD.初始都为空.现要让四个文件呈如下格式: A:1 2 3 4 1 2- B ...

  5. Google面试题之100层仍两个棋子

    一道Google面试题,题目如下:"有一个100层高的大厦,你手中有两个相同的玻璃围棋子.从这个大厦的某一层扔下围棋子就会碎,用你手中的这两个玻璃围棋子,找出一个最优的策略,来得知那个临界层 ...

  6. Google面试题:找几百亿数据的中值

    Google面试题:找几百亿数据的中值 http://blog.csdn.net/jiyanfeng1/article/details/8088237 有几百亿的整数,分布的存储到几百台通过网络连接的 ...

  7. google面试题,生男生女比例?

    Google面试题: 在一个重男轻女的国家里,每个家庭都想生男孩,如果他们生的孩子是女孩,就再生一个,直到生下的是男孩为止,这样的国家,男女比例会是多少? 答案:1:1 分析:  出生男女概率是50% ...

  8. 扔玻璃球 [ Google面试题 ]

    这是一道 Google 面试题,考察的是对于 粗调 和 精调 工程思维 对于扔玻璃球国内也叫扔鸡蛋. ta不用您有什么基础,只需要一个基本工程思维. 粗调和精调,这个已是统计学里最优法,所以不用担心复 ...

  9. 赌5毛钱,你解不出这道Google面试题

    作者 | Kevin Ghadyani 译者 | 清儿爸 编辑 | Rachel 出品 | AI科技大本营(ID:rgznai100) 为了更了解其他人对软件工程的看法,我开始疯狂在 YouTube ...

最新文章

  1. uva 1610 聚会游戏
  2. 利用Caffe训练模型(solver、deploy、train_val) + python如何使用已训练模型
  3. //BASE64解码成File文件
  4. 这份免费AI论文太强了,我肝了!
  5. 计算机网络-RIP与OSPF
  6. Java 中nextLine()方法没有执行直接跳过解决办法
  7. JavaWeb的JSP原理,详细解析(建议收藏)
  8. 安装激活visio2013 professional版本
  9. 按word内容关键字搜索
  10. 小程序人脸识别 图片转换成base64 上传给后台
  11. 如何区分直连串口线和交叉串口线
  12. win7计算机硬盘加密码,win7系统怎么加密电脑硬盘 win7系统加密电脑硬盘的快速操作方法...
  13. 为什么认真自学了NLP,面试还是回答不出问题
  14. 编译android版本binutils工具
  15. oracle-经典图书收集
  16. 【安卓笔记】如何设置模拟器的IP
  17. 洪小文谈科研:自信与谦虚并行
  18. 在生活之中,要活在生活之上
  19. oracle 字符串 年月,oracle数据库dd-m月-yy字符串转为日期格式
  20. RG Magic Bullet 15(中英对照)

热门文章

  1. ambari运维问题记录
  2. 口径、维度、指标和字段
  3. 从键盘上按hh mm ss的格式输入一个时间,输出这个时间的前一秒
  4. 激活函数(ReLu LReLU PReLU CReLU ELU SELU)
  5. 矿山计算机管理,矿山现代化管理
  6. 51单片机的应用——I/O口数据传送
  7. 关于计算机专业演讲稿30个字,计算机专业组长竞聘演讲稿
  8. 如何高效的学习 Nginx 源码,汲取养分?
  9. OpenCV39:特征匹配+单应性矩阵查找对象
  10. iptables限制同一IP连接数