面试+算法之字符串:字符串单词倒序输出、出现次数最多的字符

勤奋不是嘴上说说而已,而是实际的行动,在勤奋的苦度中持之以恒,永不退却。业精于勤,荒于嬉;行成于思,毁于随。在人生的仕途上,我们毫不迟疑地选择勤奋,她是几乎于世界上一切成就的催产婆。只要我们拥着勤奋去思考,拥着勤奋的手去耕耘,用抱勤奋的心去对待工作,浪迹红尘而坚韧不拔,那么,我们的生命就会绽放火花,让人生的时光更加的闪亮而精彩。

导读:本篇文章讲解 面试+算法之字符串:字符串单词倒序输出、出现次数最多的字符,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

概述

算法是一个程序员的核心竞争力,也是面试最重要的考查环节。本文整理一些与字符串相关的基础算法题。注:题目均搜集自网络,仅做汇总整理备忘录用。

汇总

字符串单词倒序输出

给定字符串,保持单词的顺序不变,倒序输出。

示例:
输入:“I am a professional java developer.”
输出:“developer java professional a am I.”.

直接给出代码:

public static String reverse(String input) {
    String words[] = input.substring(0, input.length() - 1).split(" ");
    StringBuilder str = new StringBuilder();
    for (int i = words.length - 1; i >= 0; i--) {
        str.append(" ").append(words[i]);
    }
    return str.append(".").toString().trim();
}

字符串出现次数最多的字符

给定一个字符串,输出其中出现次数最多的字符。

常规思路:初始化一个Map,Key存储字符,Value表示次数。遍历字符串的每个字符,判断Map里面是否含有字符,含有则次数+1。

给出实现:

public static void getMax(String str) {
    Map<Character, Integer> result = new HashMap<>();
    for (char c : str.toCharArray()) {
        if (result.containsKey(c)) {
            result.put(c, result.get(c) + 1);
        } else {
            result.put(c, 1);
        }
    }
    Character maxChar = null;
    Integer maxCount = 0;
    for (Map.Entry<Character, Integer> entry : result.entrySet()) {
        if (entry.getValue() > maxCount) {
            maxChar = entry.getKey();
            maxCount = entry.getValue();
        }
    }
    System.out.println("字符: " + maxChar + " 出现的字数最多,为 " + maxCount + " 次");
}

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

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/142376.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!