2016去哪儿编程题:5-血型遗传检测
2016-04-12 20:14
267 查看
题目描述
血型遗传对照表如下:父母血型 | 子女会出现的血型 | 子女不会出现的血型 |
---|---|---|
O与O | O | A,B,AB |
A与O | A,O | B,AB |
A与A | A,O | B,AB |
A与B | A,B,AB,O | —— |
A与AB | A,B,AB | O |
B与O | B,O | A,AB |
B与B | B,O | A,AB |
B与AB | A,B,AB | O |
AB与O | A,B | O,AB |
AB与AB | A,B,AB | O |
给定两个字符串father和mother,代表父母的血型,请返回一个字符串数组,代表孩子的可能血型(按照字典序排列)。
测试样例:
”A”,”A”
返回:[”A”,“O”] 解题 字典给你了,直接HashMap就可以了,注意,父母的血型互换后结果是一样的。
importjava.util.*; publicclassChkBloodType{ /** *请实现一个程序,输入父母血型,判断孩子可能的血型。 *都给了,判断取出可能血型 */ publicString[]chkBlood(Stringfather,Stringmother){ //writecodehere HashMap<String,String[]>map=newHashMap<String,String[]>(); map.put("OO",newString[]{"O"}); map.put("AO",newString[]{"A","O"}); map.put("OA",newString[]{"A","O"}); map.put("AA",newString[]{"A","O"}); map.put("AB",newString[]{"A","AB","B","O"}); map.put("BA",newString[]{"A","AB","B","O"}); map.put("AAB",newString[]{"A","AB","B"}); map.put("ABA",newString[]{"A","AB","B"}); map.put("BO",newString[]{"B","O"}); map.put("OB",newString[]{"B","O"}); map.put("BB",newString[]{"B","O"}); map.put("BAB",newString[]{"A","AB","B"}); map.put("ABB",newString[]{"A","AB","B"}); map.put("ABO",newString[]{"A","B"}); map.put("OAB",newString[]{"A","B"}); map.put("ABAB",newString[]{"A","AB","B"}); returnmap.get(father+mother); } }
相关文章推荐
- C++作业3/1
- c++作业3
- C++ Primer Plus编程练习 7.13-2
- 毕业设计之jdk和spring不兼容
- 浅析Java虚拟机结构与机制
- (转)Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java如何让异常处理机制更完备规范
- 简易kmeans-c++版本
- C++实验3-定期存款利息计算器
- mysql 启动失败 和 php路径错误 以及 php 无法显示的问题
- Qt中实现无边框的窗体
- Python 邮件发送smtplib
- C++编译库文件
- C++“美化”界面
- c# 如何向托管c++传递函数指针
- C++的三种继承方式
- 分享在winform下实现模块化插件编程-优化版
- RxJava 与 Retrofit 结合的最佳实践
- 关于Python正则re中的(.*?)
- c++从文件中读取特定字符串问题的总结