按拼音重复数匹配夫妻相
2015-01-09 10:18
267 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Husband_Wife_Looks { class Program { static void Main(string[] args) { //题目中预先给定一组女士的姓名拼音。输入男士的姓名拼音(拼音中间可以有空格,字母全部小写),依预先给定姓名拼音的先后遍历所有姓名,输出字母重复数最多的女士姓名。 //规则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" //运行时间限制: 无限制 //内存限制: 无限制 //输入: 输入一个男士姓名,字符串 //输出: 输出最具“夫妻相”的女士姓名 Console.WriteLine("输入姓名拼音:"); var input = Console.ReadLine(); var arrFemale = new string[] { "wang fei", "zhang man yu","zhang zi yi", "li li", "li yu cun", "yang ni", "xiao tong", "li lei", "zhang san" }; var cInput = input.Trim().ToCharArray(); //遍历女士姓名 var rIndex = 0;//记录最佳匹配结果所在位置 var rCount = 0;//记录最佳匹配结果的匹配个数 for (var i = 0; i < arrFemale.Length; i++) { var count = 0;//记录重复字符的个数 //遍历男士姓名的字符 for (var j = 0; j < cInput.Length; j++) { if (arrFemale[i].Contains(cInput[j])) count++; } if (count > rCount) { rCount = count; rIndex = i; } } Console.WriteLine(arrFemale[rIndex]); } } }
相关文章推荐
- 按拼音模糊匹配查询条件的生成类
- 拼音匹配算法
- awk中如何使用正则以匹配重复字符
- AutoCompleteTextView实现拼音汉字匹配且支持首字母
- 正则表达式(三)-- 重复匹配
- 正则表达式匹配重复字符串
- 正则表达式5——重复匹配
- 使用正则匹配去除重复字段
- 正则表达式—匹配连续重复的字符
- 拼音匹配汉字首字母
- 一个简单的汉字搜索匹配示例(支持拼音、首字母简写)
- 根据拼音首字母匹配汉字(电话本联系人查找)
- 搜狗输入法输入拼音匹配不对的问题解决
- 匹配中文普通话汉字拼音正则表达式
- 按拼音模糊匹配查询条件的生成类
- 【算法】拼音匹配算法
- (字符串的模式匹配4.7.18)POJ 2406 Power Strings(求一个字符串的最小重复串)
- ComboBox 智能过滤,模糊匹配,拼音首字母匹配
- Detection of Extraterrestrial KMP匹配 重复k次子串 好题