【华为上机】最具夫妻相

最具夫妻相    
    描述: 在中国,形容夫妻恩爱的词汇中,大家用的比较多的就是“夫妻相”。所谓“夫妻相”,就是两个人看上去比较般配,长相、身材等某些方面有一定的相似度。本题则另辟蹊径,从人的姓名维度,以字母重复个数来寻找最具“夫妻相”的人。题目中预先给定一组女士的姓名拼音。输入男士的姓名拼音(拼音中间可以有空格,字母全部小写),依预先给定姓名拼音的先后遍历所有姓名,输出字母重复数最多的女士姓名。    
    规则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"    
         
         
运行时间限制: 无限制    
    内存限制: 无限制    
    输入: 输入一个男士姓名,字符串    
     
输出: 输出最具“夫妻相”的女士姓名  

     
         
样例输入: li si    
样例输出: li li    

 

import java.util.Scanner;


public class xingming {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		String[] names = {"wang fei", 
				 "zhang man yu", 
				 "zhang zhi yi", 
				 "li li", 
				 "li xiao man", 
				 "li yu cun", 
				 "yang ni", 
				 "xiao tong", 
				 "li lei", 
				 "zhang san" };
		boolean[][] c = new boolean[10][26];
		for(int i=0;i<10;i++){
			for(int j=0;j<26;j++){
				c[i][j] = false;
			}
		}
		for(int i=0;i<10;i++){
			String name = names[i];
			name = name.replaceAll(" ", "");
			int len = name.length();
			for(int j=0;jmax){
					max = s;
					index = i;
				}
			}
			System.out.println(names[index]);
		}
	}

	private static int sim(boolean[] malec, boolean[] bs) {
		// TODO Auto-generated method stub
		int len = malec.length;
		int r = 0;
		for(int i=0;i


 

你可能感兴趣的:(华为上机)