原文:
给定仅包含小写字符的字符串str
。 任务是按照给定字符串中出现的顺序打印字符及其频率。
示例:
输入:
str = "geeksforgeeks"
输出:
g2 e4 k2 s2 f1 o1 r1
输入:
str = "helloworld"
输出:
h1 e1 l3 o2 w1 r1 d1
方法:逐字符遍历给定的字符串,并将所有字符串的频率存储在中,该字符串维护存储它们的元素的顺序。 现在,遍历linkedhashmap
的元素并打印内容。
下面是上述方法的实现:
// java implementation of the approach
import java.util.linkedhashmap;
public class gfg {
// function to print the characters and their
// frequencies in the order of their occurrence
static void printcharwithfreq(string str, int n)
{
// linkedhashmap preserves the order in
// which the input is supplied
linkedhashmap lhm
= new linkedhashmap();
// for every character of the input string
for (int i = 0; i < n; i ) {
// using java 8 getordefault method
char c = str.charat(i);
lhm.put(c, lhm.getordefault(c, 0) 1);
}
// iterate using java 8 foreach method
charfreqmap.foreach((k,v) -> system.out.print(k "" v));
}
// driver code
public static void main(string[] args)
{
string str = "geeksforgeeks";
int n = str.length();
printcharwithfreq(str, n);
}
}
输出:
g2 e4 k2 s2 f1 o1 r1
麻将胡了pg电子网站的版权属于:月萌api www.moonapi.com,转载请注明出处