1. 程式人生 > >Leetcode 771 寶石與石頭

Leetcode 771 寶石與石頭

 給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。

J 中的字母不重複,J 和 S中的所有字元都是字母。字母區分大小寫,因此"a""A"是不同型別的石頭。

示例 1:

輸入: J = "aA", S = "aAAbbbb"
輸出: 3

示例 2:

輸入: J = "z", S = "ZZ"
輸出: 0

注意:

  • S 和 J 最多含有50個字母。
  •  J 中的字元不重複。

c語言

#include<stdio.h>
#include<string.h>

int numJewelsInStones(char* J, char* S) {
    int list['z'-'A'+1]={0}, len_J=strlen(J), len_S=strlen(S), sum=0,i = 0;
    for(i=0;i<len_S;i++)
        list[S[i]-'A']++;
    for(i=0;i<len_J;i++)
        sum+=list[J[i]-'A'];
    return sum;
}
int main(){
        //char j[] = "aA";
        //char s[] = "aAAbbbb";
        char j[] = "z";
        char s[] = "ZZ";
        printf("%d\n",numJewelsInStones(j,s));
        return 0;
}
#include<stdio.h>
#include<string.h>
//finished in 1ms
int numJewelsInStones(char* J, char* S) {
    int list['z'-'A'+1]={0},sum=0,i=0;
    while(S[i]!='\0'){
        list[S[i]-'A']++;
        i++;
    }
    i = 0;
    while(J[i]!='\0'){
        sum+=list[J[i]-'A'];
        i++;
    }
    return sum;
}
int main(){
        char j[] = "aA";
        char s[] = "aAAbbbb";
        //char j[] = "z";
        //char s[] = "ZZ";
        printf("%d\n",numJewelsInStones(j,s));
        return 0;
}


Java

public class Test1 {
    public static void main(String[] args) {
        String j= "aA";
        String s = "aAAbbbb";
        System.out.println(num(j,s));
    }
    public static int num(String J,String S){
        char sArr[] = S.toCharArray();
        char jArr[] = J.toCharArray();
        int list[] = new int['z'-'A'];
        int sum = 0;
        for(char s:sArr){
            list[s-'A']++;
        }
        for(char j:jArr){
            sum += list[j-'A'];
        }
        return sum;
    }
    //模式匹配
    public static int num1(String J,String S){
        return S.replaceAll("[^"+J+"]","").length();
    }
}

相關推薦

leetcode-771-寶石石頭

leetcode 演算法題 (python),從易到難,發到部落格,促進自己堅持刷題! class Solution:     def numJewelsInStones(self, J, S):        

leetcode 771. 寶石石頭【Easy】【雜湊表】

題目: 給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。 J 中的字母不重複,J 和 S中的所有字元都是字母。字母區分大小寫,

leetcode.771 寶石石頭

 給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。 J 中的字母不重複,J 和 S中的所有字元都是字母。字母區分大小寫,

LeetCode 771. 寶石石頭(java)

pan 技術 多少 java lee 輸出 重復 因此 style 給定字符串J 代表石頭中寶石的類型,和字符串 S代表你擁有的石頭。 S 中每個字符代表了一種你擁有的石頭的類型,你想知道你擁有的石頭中有多少是寶石。 J 中的字母不重復,J 和 S中的所有字符都是字母。字

Leetcode 771 寶石石頭

 給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。J 中的字母不重複,J 和 S中的所有字元都是字母。字母

LeetCode-771 寶石石頭

給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。 J 中的字母不重複,J 和 S中的所有字元都是字母。字母區分大小寫,因此"a"和"A"是不同型別的石頭。 解題思路:

LeetCode771. 寶石石頭

給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。 J 中的字母不重複,J 和 S中的所有字元都是字母。字母區分大小寫,因此"a"和"A"是不同型別的石頭。 示例 1: 輸入:

leetcode刷題】[簡單]771寶石石頭(jewels and stones)-java

寶石與石頭 jewels and stones題目分析解答 題目 給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。 J 中的字母不重複,J 和 S中的所有字元都是字母

C#LeetCode刷題之#771-寶石石頭(Jewels and Stones)

問題 給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。 J 中的字母不重複,J 和 S中的所有字元都是字母。字母區分大小寫,因此"a"和"A"是不同型別的石頭。 輸入: J

771. 寶石石頭

ret sta con base HR 字母 cti code tool 給定字符串J 代表石頭中寶石的類型,和字符串 S代表你擁有的石頭。 S 中每個字符代表了一種你擁有的石頭的類型,你想知道你擁有的石頭中有多少是寶石。 J 中的字母不重復,J 和 S中的所有字符

Leetcode寶石石頭

題目描述:給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。 J 中的字母不重複,J 和 S中的所有字元都是字母。字母區分大小寫,因此”a”和”A”是不同型別的石頭。

771,寶石石頭

 給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。 J 中的字母不重複,J 和 S中的所有字元都是字母。字母區分大小寫,因此"a"和"A"是不同型別的石頭。 示例 1: 輸入

C語言/771.寶石石頭

先上題目思路:題目不難,兩重迴圈即可解決。          在做這道題的時候,發現了一個細節。大概像我這樣的新手都會忽視吧。一般情況下,我都習慣直接愛在迴圈判斷裡       組長度函式,覺得方便快捷。但是這樣做的話,每次進行迴圈判定的時候都會進行一次函式求值。如果迴圈層數

771 寶石石頭

題目 給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。 J 中的字母不重複,J 和 S中的所有字元都是字母。字母區分大小寫,因此"a"和"A"是不同型別的石頭。 示例

LeetCode 771 Jewels and Stones 寶石石頭

解法一: class Solution { public:     int numJewelsInStones(string J, string S) {         int count=0;         for(int i=0;i<J.size();++i)

Leetcode:寶石石頭(Python3)

題目描述:給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。J 中的字母不重複,J 和 S中的所有字元都是字母。字母區分大小寫,因此"a"和"A"是不同型別的石頭。 示例 1: 輸入: J

LeetCode——寶石石頭

題目描述:J表示的是各種寶石,S表示持有的石頭,判斷出S中到底有多少個J中的元素,注意是區分大小寫的 class Solution { public int numJewelsInStones(String J, String S) { int res = 0;

leetcode題庫——寶石石頭

題目描述: 給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。 J 中的字母不重複,J 和 S中的所有字元都是字母。字母區分

[leetcode]寶石石頭

771. 寶石與石頭 給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。 J 中的字母不重複,J 和 S中的所有字元都是字母。字母區分大小寫,因此"a"和"A"是不同型別的石頭。 示

LeetCode -- 寶石石頭

給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。 J 中的字母不重複,J 和 S中的所有字元都是字母。字母區分大小寫,因此”a”和”A”是不同型別的石頭。 示例