Advertisement

宝石石

阅读量:

假设字符串J记录了不同类型的宝石,并与另一个变量S共同作用于某个系统或过程。同时字符串S记录了你所拥有的各种石头,在这个过程中这些信息会被用来进行某种计算或分析。你需要计算的是在这些拥有之中有多少种属于宝石类别的物品。请注意,在此问题中假设字符串J中的字母互不相同,并且所有涉及的字母(出现在J或S中)都各不相同。例如,在这种情况下,请参考示例。

输入 J=“aA”,S=“aAAbbbb”
输出 3
输入J = “z”, S = “ZZ”
输出0

解决这个问题的方法并不复杂。具体来说就是先遍历J数组的同时也遍历S数组,并通过嵌套一层循环来实现对所有元素的比较。如果在比较的过程中发现有任意两个字符串相等,则宝石数量就会增加1。具体代码如下:

复制代码
    int numJewelsInStones(char * J, char * S){
    	int count = 0;
    	for (size_t i = 0; i < strlen(J); ++i){
    		for (size_t j = 0; j < strlen(S); ++j){
    			if (J[i]==S[j]){
    				++count;
    			}
    		}
    	}
    	return count;

全部评论 (0)

还没有任何评论哟~