1. 这个题目要求提供最终代码(C#)

2. 该最终代码必须可以编译,运行,并实现以下的业务功能

3. 限制时间一个小时, 包括阅读文档和提交代码的时间

业务功能:

给定若干张的麻将牌 (假设只有 万 一种类型,没有条和筒)

最终胡牌必须满足以下条件

  所有的牌必须连成顺子或者3张 即:123 或者111

  最后还要有一对, 例如 11

方法签名如下:

bool Test( int []  cards)

{
  //这里是你的代码

}

传入参数例如  { 1, 1 , 2 , 3} 代表传入2张一万,一张2万,一张3万

返回参数是true 就代表胡牌, false 代表不能胡牌

例如 1 1 2 2 2  是可以胡的

1  1 2 2 3  是不能胡的

其实想法还是挺简单的,不过一个小时的限制时间是非常严格的

这么短的时间 你能写出实现功能的 没有bug的代码么?

转载于:https://www.cnblogs.com/PurpleTide/archive/2011/03/22/1991355.html

微软面试题 麻将胡牌算法相关推荐

  1. 麻将胡牌算法带癞子 python实现

    姐姐:你去帮我和闺蜜打麻将? 学霸哥哥:可是我不会打麻将呀! 姐姐:你不是学霸吗?我教你一个麻将公式,我闺蜜可是单身哟! 学霸哥哥:什么公式? 姐姐:麻将胡牌公式: AAA*M+ABC*N+BB,WM ...

  2. 麻将胡牌算法——C#

    这里只介绍普通的麻将胡牌算法,也就是7个对子或者 1个对子+3*N; N = 三个顺子或者三个一样的 ,其中字牌(东南西北中发白)不能算顺子. 首先对于每张牌 它有牌的的数字 1-9,牌的种类 (万条 ...

  3. 麻将胡牌算法(遍历+剪枝)

    麻将胡牌算法(遍历+剪枝) 简介 麻将胡牌算法及代码 1. 方法引入 2. 类型定义 2.1 牌定义 2.2 牌特征定义 3. 计算胡牌 3.1 检测十三幺牌型 3.2 检测七小对牌型 3.3 检测普 ...

  4. 可带癞子的通用麻将胡牌算法

    本文原创文章,转载注明出处,博客地址 https://segmentfault.com/u/to... 第一时间看后续精彩文章.觉得好的话,顺手分享到朋友圈吧,感谢支持. 笔者前段时间做过一款地方麻将 ...

  5. 麻将胡牌算法 极速(速度接近理论极限)

    此麻将胡牌算法优点: 1.可处理多赖子牌(万能牌) 2.算法速度极快:1ms可大约计算1W+副手牌是否可胡(带赖子.0.08us左右),不带赖子的牌型更快.(最新版的算法速度感觉已很接近理论极限值) ...

  6. 麻将 胡牌 算法(任意癞子)

    分享一个麻将胡牌算法,支持多癞子,自己对麻将胡牌的理解写的一套快速识别胡牌逻辑,核心逻辑500行代码,仅对同条万进行处理,字花牌不包含在内,易理解,1M次随机胡牌牌型大概3秒左右.原创分享,我的算法也 ...

  7. Unity3D 通用麻将胡牌算法

    https://blog.csdn.net/qq_38064109/article/details/78933589 正常的麻将胡牌方式为满足N * ABC + M *DDD +EE 的形式,及存在一 ...

  8. 包含癞子的麻将胡牌算法

    记录一下麻将的通用胡牌算法实现,只要满足M x ABC + N x DDD + EE 即可胡牌. 在这里先分析一下最简单的胡牌思路:先找出所有可能的将牌,若除去两张将牌之外的所有牌都能成扑,则可胡牌. ...

  9. 带赖子的麻将胡牌算法Java_有人讨论下麻将胡牌,出牌算法吗,求思路

    前段时间学会了打麻将,觉得老祖宗的智慧真的博大精深,很好玩,食胡的时候真兴奋啊,于是空余时间就想自己写个麻将游戏出来,模仿欢乐麻将那种,数学差,想了两个礼拜才想出一个胡牌算法,前段时间学会了打麻将. ...

  10. 麻将胡牌算法的一种设计及其分析

    马勇波  陈欣庆 (解放军理工大学工程兵工程学院研究生二队,南京 210007)       摘  要  文章通过一个二维数组定义麻将的数据结构,并在此基础上设计了一种判断麻将是否胡牌的算法,该算法主 ...

最新文章

  1. 白月黑羽教python excel_发布程序
  2. 数据蒋堂 | 数据库的封闭性
  3. [Tarjan][割点] 洛谷 P3469 BLO-Blockade
  4. Eclipse error: “The import XXX cannot be resolved”
  5. springsecurity sessionregistry session共享_要学就学透彻!Spring Security 中 CSRF 防御源码解析...
  6. 数字图像噪声_Python
  7. 【机器学习】LR与最大熵模型的关系
  8. vsftp账号_Linux入门-CentOS7安装vsftp
  9. 哈工大成立人工智能研究院,NLP全国第三
  10. linux从usb安装软件,Linux下USB Camera的安装和使用
  11. java list排序工具类_java 之 Collections集合工具类排序
  12. 文件系统与linux相关知识点
  13. 菩提心的修法-四无量心的具体修法
  14. 从优化角度推导主成分分析法(PCA)的数学原理
  15. 有个大神级女朋友是什么体验
  16. Python web框架Django学习(1)
  17. 电脑硬件升级——笔记本更换更大容量的固态硬盘,并进行系统迁移
  18. 锚定情境法:有效控制变量自评偏差
  19. iOS 添加第三方字体 .ttf
  20. Oracle EBS Interface/API(30) -PR取消API

热门文章

  1. C语言向文件写入学生信息并读取显示出来
  2. 风控中英文术语手册(银行_消费金融信贷业务)
  3. 加载elementor时出现问题_Elementor新手教程:怎么使用elementor设计网站页面!
  4. 怎么分行显示java程序,月光软件站 - 编程文档 - Java - 如何在J2ME的低级界面中轻松实现各种文字的自然分行显示...
  5. java cron 解析_quartz cron 在线解析
  6. 算法:投票Voting
  7. 说明assert()的作用:assert()是一个调试程序时经常使用的宏,在程序执行时计算括号内的表达式,如果表达式为假,程序报告错误,并终止执行;若表达式为真,则继续执行后面的语句。
  8. elisa数据处理过程图解_ELISA操作流程
  9. 建模大师怎么安装到revit中_用协同大师完成Revit协同工作的教程详解
  10. java打开文件对话框