华为上机练习题–姓名夫妻相「建议收藏」

华为上机练习题–姓名夫妻相

大家好,又见面了,我是全栈君。

题目:

在中国,形容夫妻恩爱的词汇中,大家用的比較多的就是“夫妻相”。所谓“夫妻相”,就是两个人看上去比較般配。长相、身材等某些方面有一定的相似度。本题则另辟蹊径,从人的姓名维度,以字母反复个数来寻找最具“夫妻相”的人。

题目中预先给定一组女士的姓名拼音。

输入男士的姓名拼音(拼音中间能够有空格,字母所有小写),依预先给定姓名拼音的先后遍历所有姓名。输出字母反复数最多的女士姓名。

规则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”

执行时间限制:  无限制 内存限制:  无限制

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

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

分析: 从这题目中我们也能够看出去重的影子,所以先敲定set。 之后的就是依次循环推断包括字符的个数了。 所以这个也是非常easy的题目,废话不多说。 奉上代码;

代码例如以下:

package com.wenj.test;

import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;

public class TestSelectTheCouple {

    public static void main(String args[]) {
        String strIn = “li ling”;
        TestSelectTheCouple ts = new TestSelectTheCouple();
        System.out.println(ts.selectTheCouple(strIn));
    }

    public String selectTheCouple(String strIn) {
        String strTemp = strIn.replaceAll(” “, “”);
        String[] wArr = { “wang fei”, “zhang man yu”, “zhang zhi yi”,
                “li li”, “li xiao man”, “li yu cun”, “yang ni”, “xiao tong”,
                “li lei”, “zhang san” };
        int[] p = new int[wArr.length];  //存储同样字符个数的数组
        
        char[] ca = strTemp.toCharArray();
        Set<Character> ms = new LinkedHashSet<Character>();
        for(int i=0; i<ca.length; i++){
            ms.add(ca[i]);
        }
        
        int count = 0;
        for(int i=0; i<wArr.length; i++){  //推断各个女的与输入男的同样字符个数并将结果存储在p中
            for(Iterator<Character> it=ms.iterator(); it.hasNext(); ){
                char temp = it.next();
                if(wArr[i].contains(temp+””)){
                    count++;
                }
            }
            p[i] = count;
            count = 0;
        }
        
        int max = p[0];
        int pos = 0;
        for(int i=1; i<p.length; i++){//找出同样字符最多的
            if(p[i]>max){
                max = p[i];
                pos = i;
            }
        }
        
        return wArr[pos];   //输出最佳女猪脚
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115810.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • AArch64教程第一章

    AArch64教程第一章AArch64教程第一章AArch64是一个新的64位模式,它是ARMv8架构下的一部分,它于2011年随着ARM发布。它被逐步部署于智能手机和服务器。所以我认为现在学习一点关于此架构的知识是比较好的。硬件目前,有ARMv6/ARMv7的单板电脑是比较容易获得的,其中最流行的一个选择是树莓派。相反,支持64位ARMv8模式的单板电脑就没有那么多了,但是它们最近也慢慢变得流行了起来。例如,Pine64,ODROID-C2,Dragonboard410c,等等。它们中的任何一种都可以做64位开发,

    2022年10月16日
    2
  • html幻灯片图片切换效果代码,javascript实现图片切换的幻灯片效果源代码[通俗易懂]

    html幻灯片图片切换效果代码,javascript实现图片切换的幻灯片效果源代码[通俗易懂]网页上有许多图片切换的幻灯片效果,它们大多用flash实现,那javascript能不能实现他们呢,当然可以,我自己写了一个,和大家一同分享废话少说,看代码sx.activex.imagefade={init:function(imga,fadeint,fadeoutt){varti=newArray();for(vari=0;iti[i]=newImage();ti[i].src=img…

    2022年7月13日
    16
  • linux下开放oracle1521端口以便于远程连接

    linux下开放oracle1521端口以便于远程连接   1,利用root账号登录linux,输入命令:serviceiptablesstop(先把oracle防火墙给关闭)。   2.输入命令:vi /etc/sysconfig/iptables,在里面添加如下一行:      -A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport …

    2022年6月3日
    37
  • 串口转tcp软件_tcp转虚拟串口软件

    串口转tcp软件_tcp转虚拟串口软件由于项目调试需求,代码在远程服务器的虚拟机上,在本地计算机通过串口连接需要对接的设备,在远程服务器的上位机程序需要和此设备进行对接,系统结构如图1所示。图1系统网络结构图如何将本地的串口共享给远程服务器上的虚拟机里面的上位机程序呢?远程服务器开启了内网穿透,使用的SAKURAFRP,感兴趣的可以自己摸索下,很好用的。我直接穿透的远程桌面,而远程桌面可以将本地计算机的串口共享到远程服务器,如图2所示:图2通过远程桌面共享端口假设本地计算机的串口如图3所示,经过远程桌面共享后在远程

    2025年9月16日
    4
  • 【17】进大厂必须掌握的面试题-50个Angular面试

    【17】进大厂必须掌握的面试题-50个Angular面试

    2020年11月14日
    168
  • poe交换机和接入交换机的区别_光纤交换机和普通交换机的区别

    poe交换机和接入交换机的区别_光纤交换机和普通交换机的区别POE交换机与普通交换机区别的话,POE交换机就是除了能提供普通交换机所具有的传输功能,还能给网线的另一端设备提供供电功能。普通的交换机主要是交换数据的功能,并没有具备供电的功能。接下来我们就一起来详细看看POE交换机和普通交换机的区别具体有哪些?POE交换机和普通交换机具有以下几点区别:1.可靠性不同:POE交换机就是支持对网线供电的交换机,和普通交换机相比就是受电终端(比如AP、数字摄像头等)不用再进行电源布线,对整个网络而言可靠性更高。2.功能不同:POE交换机就是除了能提供普通交换机所

    2022年10月5日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号