Java算法面试题(007) 蒙提霍尔问题(三门问题)

简介

此问题本身和算法无关,本质上一个关于概率的问题,在一些高等级的面试也经常被问及,因此收录在Java算法面试题系列中。

三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目Let's Make a Deal。问题名字来自该节目的主持人蒙提·霍尔(Monty Hall)。问题描述如下:

假设你正在参加一个游戏节目,你被要求在三扇门中选择一扇:其中一扇后面有一辆车;其余两扇后面则是山羊。你选择了一道门,假设是一号门,然后知道门后面有什么的主持人,开启了另一扇后面有山羊的门,假设是三号门。他然后问你:“你想选择二号门吗?”转换你的选择对你来说是一种优势吗?

解题思路

Java算法面试题(007) 蒙提霍尔问题(三门问题)_第1张图片

有三种可能的情况,全部都有相等的可能性(1/3):

  • 参赛者挑汽车,主持人挑两头羊的任何一头。转换将失败。
  • 参赛者挑A羊,主持人挑B羊。转换将赢得汽车。
  • 参赛者挑B羊,主持人挑A羊。转换将赢得汽车。

问题是:关于第一种可能性的表述可以分成两种可能吗?

  • 参赛者挑汽车,主持人挑A羊。转换将失败。
  • 参赛者挑汽车,主持人挑B羊。转换将失败。

在后两种情况,参赛者可以透过转换选择而赢得汽车。第一种情况是唯一一种参赛者透过保持原来选择而赢的情况。因为三种情况中有两种是透过转换选择而赢的,所以透过转换选择而赢的概率是2/3。

Java算法面试题(007) 蒙提霍尔问题(三门问题)_第2张图片

你可能感兴趣的:(Java,算法与数据结构,Java算法面试题)