在leetcode上看到的一个新解法,感觉不错。采用了桶排序的思想,以及int与char转换的方式方法。
int numJewelsInStones(string J, string S)
{
//771st
int amount[52] = { 0 };
int ans = 0;
for (int i = 0; i < S.size(); i++)
{
if (S[i] >= 'a')
amount[S[i] - 'a']++;
else
amount[S[i] - 'A' + 26]++;
}
for (int i = 0; i < J.size(); i++)
{
if (J[i] >= 'a')
ans += amount[J[i] - 'a'];
else
ans += amount[J[i] - 'A' + 26];
}
return ans;
}
作者:Ancerise
链接:https://leetcode-cn.com/problems/two-sum/solution/cxin-kai-ding-chang-52de-shu-zu-shi-xian-qi-shi-sh/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
网友评论