L1-109 这是字符串题 - java

题目解析

求出给定字符串当中每个字母出现的次数,然后在给定每个字母的美观分时,求出整个字符串的总体美观分。

解题思路

对于给定字符串当中的每个字母计数即可。
然后在求出总体美观分。

代码

import java.io.*;
import java.math.*;
import java.util.*;

public class Main
{

	public static void main(String[] args)
	{
		String S = sc.next();
		char s[] = S.toCharArray();
		int shu[] = new int[26 + 10]; // 存储每个字母的分数
		for (int i = 0; i < 26; i++) shu[i] = sc.nextInt();

		int cnt[] = new int[26 + 10]; // 存储每个字母出现的次数
		int ans = 0; // 存储总美观的分数
		for (int i = 0; i < s.length; i++)
		{
			int x = s[i] - 'a';
			ans += shu[x];
			cnt[x]++;
		}

		for (int i = 0; i < 26; i++)
		{
			if (i != 0) out.print(" ");
			out.print(cnt[i]);
		}
		out.println();
		out.println(ans);

		out.flush();
		out.close();
	}

	static Scanner sc = new Scanner(System.in);
	static PrintWriter out = new PrintWriter(System.out);
}


团体程序设计天梯赛-练习集-java

赞赏