题目

在中国,形容夫妻恩爱的词汇中,大家用的比较多的就是“夫妻相”。所谓“夫妻相”,就是两个人看上去比较般配,长相、身材等某些方面有一定的相似度。
本题则另辟蹊径,从人的姓名维度,以字母重复个数来寻找最具“夫妻相”的人。
题目中预先给定一组女士的姓名拼音。输入男士的姓名拼音(拼音中间可以有空格,字母全部小写),依预先给定姓名拼音的先后遍历所有姓名,输出字母重复数最多的女士姓名。规则1:如果字母重复数最多的女士有多位相同,则以最先匹配的女士做为最具“夫妻相”的人选。
规则2:人名中的相同字母,按重复一次处理。例如:li ling 与li lei 重复的字符个数为2,而不是4。
预置女士名单(先后循序必须保证):
"wang fei",
"zhang man yu",
"zhang zhi yi",
"li li",
"li xiao man",
"li yu cun",
"yang ni",
"xiao tong",
"li lei",
"zhang san"

运行时间限制:

无限制

内存限制:

无限制

输入:

输入一个男士姓名,字符串

输出:

输出最具“夫妻相”的女士姓名

代码

/*---------------------------------------
*   日期:2015-07-07
*   作者:SJF0115
*   题目:姓名的夫妻相
*   来源:华为机试真题
-----------------------------------------*/
#include <iostream>
#include <string>
#include <vector>
#include <stack>
#include <algorithm>
using namespace std;#define GirlSize 10string girlName[GirlSize+1] = {"wang fei","zhang man yu","zhang zhi yi","li li","li xiao man","li yu cun","yang ni","xiao tong","li lei","zhang san"};vector<vector<int> > hash(GirlSize,vector<int>(26,0));// 预处理女士姓名
void Init(){for(int i = 0;i < GirlSize;++i){int count = girlName[i].size();for(int j = 0;j < count;++j){if(girlName[i][j] != ' '){++hash[i][girlName[i][j] - 'a'];}//if}//for}//for
}string MaxDupicate(string name){int size = name.size();// 去掉重复字符vector<int> boyHash(26,0);for(int k = 0;k < size;++k){if(name[k] != ' '){++boyHash[name[k] - 'a'];}//if}//forint count = 0;int max = 0;// 记录重复数最多的女孩下标int index = 0;// 比较 获取重复数for(int i = 0;i < GirlSize;++i){count = 0;for(int j = 0;j < 26;++j){if(hash[i][j] > 0 && boyHash[j] > 0){++count;}//if}//for// 更新最大值if(max < count){max = count;index = i;}//if}//forreturn girlName[index];
}int main(){string name;//freopen("C:\\Users\\Administrator\\Desktop\\acm.txt","r",stdin);// 预处理Init();while(getline(cin,name)){cout<<MaxDupicate(name)<<endl;}//whilereturn 0;
}

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>

[华为机试真题]69.姓名的夫妻相相关推荐

  1. [华为机试真题][2014]62.去除重复字符并排序

    题目 描述: 去除重复字符并排序 运行时间限制: 无限制 内容限制: 无限制 输入: 字符串 输出: 去除重复字符并排序的字符串 样例输入: aabcdefff 样例输出: abcdef 代码 /*- ...

  2. 【华为机试真题 Python实现】查找众数及中位数

    文章目录 前言 题目描述 示例 1 示例 2 参考代码 前言 <华为机试真题>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有想了解的可以私信我,我会 ...

  3. 【华为机试真题详解】不含 101 的数【2022 Q4 | 100分】

    文章目录 前言 题目描述 输入描述 输出描述 示例 1 示例2 题目解析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果 ...

  4. 【华为机试真题详解】开心消消乐【2022 Q4 | 100分】

    文章目录 前言 题目描述 输入描述 输出描述 示例 1 题目解析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备 ...

  5. 【华为机试真题 Python实现】篮球比赛【2022 Q1 Q2 | 200分】

    文章目录 前言 题目描述 示例 1 参考代码 前言 <华为机试真题>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您 ...

  6. 【华为机试真题详解】高矮个子排队

    文章目录 前言 题目描述 示例 1 示例 2 示例 3 题目分析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备 ...

  7. 【华为机试真题详解】优选核酸检测点【2022 Q4 | 100分】

    文章目录 前言 题目描述 输入描述 输出描述 示例 1 题目解析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备 ...

  8. 【华为机试真题 Python实现】热点网站统计【2022 Q1 Q2 | 100分】

    文章目录 前言 题目描述 示例 1 参考代码 前言 <华为机试真题>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您 ...

  9. 【华为机试真题 Python实现】华为机试题整理(已更新211篇)

    文章目录 杂文 华为机试真题系列 牛客网华为机试系列 文章发布时间和导航更新时间可能不同步,会尽快更新

最新文章

  1. 程序员霸榜 2020 年十大高薪岗位,不料幸福度却垫底了!
  2. BZOJ 1800 [Ahoi2009]fly 飞行棋
  3. [driver]linux内核动态加载模块
  4. 设计模式 原型模式_创新设计模式:原型模式
  5. 国家开放大学2021春1080工程数学(本)题目
  6. 北美KubeCon新风,正把K8S魔力带向边缘计算
  7. java读取mysql配置文件_Linux运维:MySQL读写分离解决方案
  8. 盘点20个最好的数据科学Python库(附链接)
  9. 云小课 |选定合适的证书,做“有证”的合规域名
  10. 【Docker容器】进入容器的2种方式
  11. tomcat设置独立jvm的例子
  12. 网络安全法学习整理笔记
  13. Dart语言学习理由
  14. Mathematica绘制动态椭圆摆线(一)
  15. 想去看演唱却总是抢不到票?教你用Python制作一个自动抢票脚本
  16. When you want to give up, remember why you started.
  17. 第一届华数杯A题思路分析
  18. autocad2014 第二次打开闪退_解决win10下autocad2014闪退的修复方法
  19. 触动传媒总部人去楼空 上海多家出租车公司追讨欠款
  20. 4.4.1 ICMP报文的种类

热门文章

  1. K8s基础知识学习笔记及部分源码剖析
  2. Android GMS认证项总结
  3. 实现群辉NAS免端口访问教程
  4. Dell戴尔笔记本电脑灵越Inspiron 5580原装出厂Windows10系统恢复原厂oem系统
  5. 为什么选择Opera而不是火狐
  6. 【超详细】多元线性回归模型statsmodels_ols
  7. 用isalpha函数来判断一个字符串中的字符是否是字母
  8. like not like 优化 2
  9. SoapUI模拟服务端进行接口测试
  10. 细谈AEM TestPro K50线缆测试仪