算法最优解 算法最优解
首页
目录
赞助
GitHub (opens new window)
首页
目录
赞助
GitHub (opens new window)
  • 数据结构基础

  • 数组

  • 位运算

  • 动态规划

  • 图

  • 区间

  • 链表

  • 矩阵

  • 字符串

  • 树

  • 堆

  • 逻辑思维

    • 赛马
    • 土匪也疯狂
      • 题目描述
      • 思路解析
    • 使用rand5实现rand7
    • 三门问题
    • 狼爱上羊?
    • 会玩的一家人
    • 烧绳子
    • 有问题的球
    • 蛋蛋破碎的临界点
    • 通往offer之门
    • 最后的颜色
    • 贴标签
  • 目录
  • 逻辑思维
华南溜达虎
2024-07-08
目录

土匪也疯狂

# 土匪也疯狂

# 题目描述

有5个贪婪的土匪抢劫到100个金元宝,在分赃的时候犯起了难,这个时候土匪头子说根据年龄的大小,年纪较大的土匪先讲分赃方案,如果超过50%的人不同意就将这个出方案的土匪活埋,然后换下一个年纪较大的土匪出分赃方案,依次类推。这5个土匪都比较爱惜自己的生命,并且都特别聪明且理智,但他们不爱惜同伴的生命,就算是平均分配他们都不会同意。如果你是年纪最大的那个土匪,你会怎样分配既能保住命又能获得尽可能多的金元宝?

# 思路解析

看到这里,不少同学已经一脸懵了,估计题目都没读懂。下面我们来一步步分析下这个问题。

  1. 如果土匪只有一个,我们亲切的称他为匪1,那毫无疑问所有的金元宝都是他的。
  2. 如果又有一个年龄更大的匪2加入,那匪2会先出方案,匪2会把所有的金元宝都分给自己,即使匪1反对,总的反对票也不会超过50%。这个时候分配情况如下图。

  1. 如果又有一个年龄更大的匪3加入,那匪3会先出方案,匪3会给匪1一个金元宝,匪1会欣然接受,因为如果他把匪3投死,匪2一个金元宝都不会给他。这个时候分配情况如下图,总的反对票不会超过50%。

  1. 如果又有一个年龄更大的匪4加入,那匪4会先出方案,匪4会给匪2一个金元宝,匪2会欣然接受,因为如果他把匪4投死,匪3一个金元宝都不会给他。这个时候分配情况如下图,总的反对票不会超过50%。

  1. 如果又有一个年龄更大的匪5加入,那匪5会先出方案,匪5会给匪1和匪3各一个金元宝,并且他们会欣然接受,因为如果把匪5投死,匪4一个金元宝都不会给他们。这个时候分配情况如下图,总的反对票不会超过50%。

所以作为年龄最大的土匪只需要给年龄最小的土匪和年龄第三小的土匪各一个金元宝,他就既可以保住生命,又能拿到98个金元宝。

看到这里是不是豁然开朗,这种自下而上的推导方式有没有很熟悉,和动态规划一毛一样。

现在就业竞争比较激烈,僧多粥少,很多大企业在面试的时候直接用这种思维题来筛人,虽然不合理,但也无可奈何,所以养成一个良好的思维习惯也是非常重要的。

思考:聪明的你能否推导出有n个土匪,年龄最大的土匪要如何分配才能既保住命又能获得尽可能多的金元宝?

上次更新: 2024/07/08, 20:31:33
赛马
使用rand5实现rand7

← 赛马 使用rand5实现rand7→

Theme by Vdoing | Copyright © 2024-2024 华南溜达虎 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式