leetcode 一刷,除了个别不太会的 medium题目,其他都做了,hard题只做了几个,有的题目麻烦到连看题目都不太想看了,所以想着自己是不是可以开始二刷了,但是似乎用python 二刷没什么意义,就想着还是用cpp二刷吧,之后会把一刷的python代码和二刷的cpp代码都记录下来,二刷除了巩固算法知识,也算是通过这个契机学习一下cpp吧,毕竟只是程序员的话只会python的话感觉还是不太行…
题目:
You’re given strings J representing the types of stones that are
jewels, and S representing the stones you have. Each character in S
is a type of stone you have. You want to know how many of the stones
you have are also jewels.The letters in J are guaranteed distinct, and all characters in J and
S are letters. Letters are case sensitive, so “a” is considered a
different type of stone from “A”.Example 1: Input: J = “aA”, S = “aAAbbbb” Output: 3
Example 2: Input: J = “z”, S = “ZZ” Output: 0
Note: S and J will consist of letters and have length at most 50. The
characters in J are distinct.
解释:
这是easy最简单的一道题目啦,其实就是暴力count然后加起来就好啦!
python代码:
class Solution(object):
def numJewelsInStones(self, J, S):
"""
:type J: str
:type S: str
:rtype: int
"""
count=0
for j in J:
count+=S.count(j)
return count
c++代码:
class Solution {
public:
int numJewelsInStones(string J, string S) {
int res=0;
for (char j :J)
{
res+=count(S.begin(),S.end(),j);
}
return res;
}
};
总结:
c++ 里面也有和python类似的for的用法,甚好甚好。