概述
算法是一个程序员的核心竞争力,也是面试最重要的考查环节。本文整理一些与字符串相关的基础算法题。注:题目均搜集自网络,仅做汇总整理备忘录用。
汇总
字符串单词倒序输出
给定字符串,保持单词的顺序不变,倒序输出。
示例:
输入:“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