题目参考这里,也是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. java bean join_spring data jpa 关联join查询出自定义实体java bean的坑
  2. Linux 64bit下Oracle11g安装手册
  3. Java--语言基础
  4. Android获取手机内部存储和外部存储
  5. 在spring boot中集成Swagger
  6. 多选Select排序
  7. C和C++结构体区别
  8. python类创建对象底层实现机制(简单)
  9. [MFC] 向文本编辑框写入数据与从其中读取数据
  10. 基于STM32的DMX512开发
  11. Web版SSH客戶端Sshwifty
  12. 不要重新发明轮子_请重新发明轮子
  13. u盘文件无法复制是什么原因?有什么解决方法
  14. 京东领取京豆助力、京喜活动
  15. 教你十分钟在Linux系统上快速装机并安装Ansible
  16. python模拟输入回车键_Python模拟回车键
  17. dcmm认证发证机构有哪些?
  18. JavaScript中函数当作参数传递或当作返回值
  19. ognl表达式系列1--OgnlContext
  20. sql语句实现单表省市级连

热门文章

  1. python 使用 selenium 爬取中国福利彩票双色球历史中奖号码
  2. SysAllocString的简单使用
  3. 关于事物型数据库的索引原理
  4. eclipse和java的关系
  5. 国产网络库libhv开源四周年回顾
  6. 最初学习阶段有用没用的杂七杂八
  7. 特斯拉向更多车主开放FSD测试,并推出安全评分系统,马斯克终于兑现承诺了吗?
  8. 331 - Mapping the Swaps(回溯+ dfs)
  9. IBM-142-XML认证
  10. 【一周头条盘点】中国软件网(2018.6.11~2018.6.15)