首页 > 试题广场 >

找出以d或e字母结尾的单词出现的次数

[编程题]找出以d或e字母结尾的单词出现的次数
  • 热度指数:101 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

给出一组字符串,找出其中以小写的de字母结尾的单词出现的次数,结果以字典格式打印。其中不以d或e结尾的单词,不在结果统计中出现


输入描述:
若干个字符串,它们以逗号进行分隔,样例如下所示:

abc,head,tail,middle,head,today,tail,rain,end,cup,apple,abc,head,tail,middle,head,today,tail,rain,end,cup,apple,abc,head,tail,middle,head,today,tail,rain,end,cup,apple,abc,head,tail,middle,head,today,tail,rain,end,cup,apple,abc,head,tail,middle,head,today,tail,rain,end,cup,apple,hard,abc,head,tail,middle,head,today,tail,rain,end,cup,apple


输出描述:
以字典格式打印,样例输出如下所示:

{head=12, apple=6, middle=6, end=6, hard=1}
示例1

输入

abc,head,tail,middle,head,today,tail,rain,end,cup,apple,abc,head,tail,middle,head,today,tail,rain,end,cup,apple,abc,head,tail,middle,head,today,tail,rain,end,cup,apple,abc,head,tail,middle,head,today,tail,rain,end,cup,apple,abc,head,tail,middle,head,today,tail,rain,end,cup,apple,hard,abc,head,tail,middle,head,today,tail,rain,end,cup,apple

输出

{head=12, apple=6, middle=6, end=6, hard=1}
用,分割,将空格字符串跳过
import java.util.*;

public class Main {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            String ss =  scanner.next();
            count(ss);
        }

        public static void count(String ss){
            String str[] = ss.split(",");
            Map<String,Integer> map = new HashMap<>();
            // 小写e或者d结尾单词出现次数
            for(String s:str){
                int len = s.length();
                if(len==0){
                    continue;
                }
                if(s.lastIndexOf("e")==len-1 || s.lastIndexOf("d")==len-1){
                    map.put(s,map.getOrDefault(s,0)+1);
                }
            }
            System.out.println(map);
       }
    }


发表于 2024-09-03 16:23:36 回复(0)
我不知道别的语言怎么样,用python直接打印,格式不对;把格式配好,顺序不对。。。题目最好写一下按什么顺序输出..字母顺序不对,次数多少也不对
编辑于 2021-05-13 20:02:36 回复(1)