查找兄弟单词

查找兄弟单词

http://www.nowcoder.com/questionTerminal/03ba8aeeef73400ca7a37a5f3370fe68

这个题坑有点多
首先,题目描述不清楚;
然后:
(1)需要判断多组数据,这个把我坑坏了!
(2)需要兄弟单词可以有重复的
(3)需要判断 查找单词的索引不能大于兄弟字典的大小

import java.util.*;
public class Main{
    public static boolean checkBorther(String str1, String str2){
        int[] arr = new int[26];
        char[] ch1 = str1.toCharArray();
        char[] ch2 = str2.toCharArray();
        for(int i=0; i<ch1.length; i++){
            arr[ch1[i]-'a']++;
            arr[ch2[i]-'a']--;
        }
        for(int i=0; i<26; i++){
            if(arr[i]!=0)
                return false;
        }
        return true;
    }

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int N = sc.nextInt(); //输入字典中单词的个数
            String[] str = new String[N];
            for(int i=0; i<N; i++){ //输入n个单词作为字典单词
                str[i]=sc.next();
            }
            // 查找兄弟单词
            String findStr = sc.next();//输入一个待查单词
            int ind = sc.nextInt(); //输入待查单词的 指定序号     
            ArrayList<String> list = new ArrayList<>();
            for(int i=0; i<N; i++){
               if((str[i].length() == findStr.length()) && (!str[i].equals(findStr))){//长度相等 且 字符串不相等
                    if(checkBorther(findStr,str[i])){
                        list.add(str[i]);
                    }
                }
            }
            //输出 
            System.out.println(list.size());     

            Collections.sort(list);
            if(list.size()>=ind){
                System.out.println(list.get(ind-1));  
            }


        }

    }
}
全部评论
气死,我以为不要重复,用了TreeSet,调了半天made
点赞 回复 分享
发布于 2023-07-15 02:15 广东
兄弟单词还可以重复?我调试了好久,难受死我了。。。
点赞 回复 分享
发布于 2022-12-05 11:54 广东
看到你说的才知道可以重复,我也气死
点赞 回复 分享
发布于 2022-05-26 17:39
arr[ch1[i]-'a']++; 是什么意思呢
点赞 回复 分享
发布于 2022-04-26 09:40
大佬太强了,学习学习
点赞 回复 分享
发布于 2022-03-20 16:51
我也不知道我的哪里出错了,又用了map,又用了iterator,明明两个载入示例都对了,提交Exception in thread "main" java.util.NoSuchElementException.看到这个简单清爽太强了
点赞 回复 分享
发布于 2022-01-06 18:52
太多了懒得看
点赞 回复 分享
发布于 2021-12-01 14:13
checkBorther有点牛逼,这是什么思想。
点赞 回复 分享
发布于 2021-08-18 23:17

相关推荐

已oc&nbsp;云智断更了好几天,也有一些话想说,继续更新一篇云智timeline&nbsp;4.18&nbsp;一面&nbsp;半个小时后约二面&nbsp;4.21二面&nbsp;当晚&nbsp;约hr面&nbsp;4.23hr面&nbsp;4.30&nbsp;发offer之前美团的二面挂了,进入人才库,后面又被捞起来面试,4.30号&nbsp;美团又一面,现在还没出一面结果感觉也不报什么希望,就算一面过了,还有二面,我经不起深入拷打,唉,真的,好难五一躺平了五天,吃吃玩玩睡睡~还要担心毕业,科研更是难,唉暑期可能就到此为止了,后面没有时间在这个上面了,要抓紧时间做科研,为了后面能出去实习。大厂,秋招再见!!!有一些感慨:4.1是我的第一次面试,美团,面试的时候紧张到浑身发...
daisy9542:我今晚也是美团一面,已经第六次了。我也面了其他的,没拿到 offer。但我想开了,要按照自己的节奏来,找暑期转正然后秋招大杀四方并不是唯一的出路,其实还有很多选择的,有 0 实习最后秋招拿 offer 了,也有不选择互联网去国企的外企的,考编的,创业的。现在的失败不代表以后的路都是黑暗的,只不过可能运气还没降临到头上。所以现在要做的,就是放平心态,提升自己,通过面试了解到自己的优点和不足,争取下次机会来了能好好抓住
点赞 评论 收藏
分享
04-08 13:31
已编辑
门头沟学院 前端工程师
D0cC:京东营收1万多亿人民币,阿里9000多亿,虽然他俩利润都没腾讯和字节多,但是很恐怖了啊,负担了多少打工人的薪水
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
Beeee0927:正确的建议
点赞 评论 收藏
分享
好像有点准
我推的MK:感觉这个表格呢好像有用又好像没用,真有offer了不管加班多么严重也得受着,没offer管他加班什么样也只能看看,反正轮不到我选
点赞 评论 收藏
分享
评论
30
3
分享

创作者周榜

更多
牛客网
牛客企业服务