给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此'a'和'A'是不同类型的石头。
方法/步骤
1
示例1如图示。
2
示例2如图示。
3
注意事项如图示。
4
解题思路:通过阅读题意后知道:字符串J中的字母不重复,这是一个很重要的信息。
5
在知道字符串J中第字符没有重复后,我们就可以遍历J中的每个字符。
6
统计J中所有字符在S字符串中出现的次数。
7
将J中每个字符的统计结果进行累加即为所求结果。
8
终上所述源代码如图示:
10
问题已经被解决,但是还可以考虑是否可以优化程序。
11
由于代码的主要的结构是循环语句,故可以考虑用列表推导使其更加简介,同时还有可能提高程序的运行的速度。
12
优化后的代码只有一行。如图示:
13
提交优化后的代码如图示:
14
对比发现程序的运行效率还没有之前的代码运行效率高。
15
我个人以为主要是原代码与C语言更接近,从而导致加快了程序的运行效率。当然这只是为个人的猜测。
上一篇:怎么样练习标准式微笑?
下一篇:会计训练的法律关系