給定字串j
代表你現在擁有代表寶石的型別,和字串s
代表你擁有的石頭。s
中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。
j
中的字母不重複,j
和s
中的所有字元都是字母。字母區分大小寫,因此"a"
和"a"
是不同型別的石頭。
輸入:j = "aa", s = "aaabbbb"
輸出:
3
輸入:j = "z", s = "zz"
輸出:
0
def
numjewelsinstones
(j, s)
: i =
0for s in s:
if s in j:
i +=
1return i
耗時:44 ms
def
numjewelsinstones
(j, s)
:return
sum(
[s in j for s in s]
)
耗時:40 ms
int
numjewelsinstones
(string j, string s)
}return i;
}
耗時:4ms
本道題的執行耗時,c++很輕鬆地碾壓了python,快了整整乙個量級。其中在程式設計的過程中,有些點需要注意,以及有些小技巧以後也可以使用:
在python中,我們使用in
可以直接單個字元是否在乙個字串中,其實相當於對字串使用了set()
函式轉化為list。
python中對for迴圈的簡寫,然後轉化為向量形式,可以像python第二種方法來寫。(當然可以用numpy
包來直接計算,但是這裡不能用)
在c++中,可以直接定義string,計算string的長度使用.length()
。
c++句尾加分號加分號加分號!
**題目**:**
LeetCode 寶石與石頭
給定字串j代表你現在擁有代表寶石的型別,和字串s代表你擁有的石頭。s中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。j中的字母不重複,j和s中的所有字元都是字母。字母區分大小寫,因此 a 和 a 是不同型別的石頭。輸入 j aa s aaabbbb 輸出 3 includ...
leetcode 寶石與石頭
給定字串j 代表石頭中寶石的型別,和字串 s代表你擁有的石頭。s 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。j 中的字母不重複,j 和 s中的所有字元都是字母。字母區分大小寫,因此 a 和 a 是不同型別的石頭。輸入 j aa s aaabbbb 輸出 3這個題一開...
leetcode寶石與石頭
給定字串j 代表石頭中寶石的型別,和字串 s代表你擁有的石頭。s 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。j 中的字母不重複,j 和 s中的所有字元都是字母。字母區分大小寫,因此 a 和 a 是不同型別的石頭。示例 1 輸入 j aa s aaabbbb 輸出 3...