Welcome to Subscribe On Youtube
2185. Counting Words With a Given Prefix
Description
You are given an array of strings words
and a string pref
.
Return the number of strings in words
that contain pref
as a prefix.
A prefix of a string s
is any leading contiguous substring of s
.
Example 1:
Input: words = ["pay","attention","practice","attend"], pref
= "at"
Output: 2
Explanation: The 2 strings that contain "at" as a prefix are: "attention" and "attend".
Example 2:
Input: words = ["leetcode","win","loops","success"], pref
= "code"
Output: 0
Explanation: There are no strings that contain "code" as a prefix.
Constraints:
1 <= words.length <= 100
1 <= words[i].length, pref.length <= 100
words[i]
andpref
consist of lowercase English letters.
Solutions
-
class Solution { public int prefixCount(String[] words, String pref) { int ans = 0; for (String w : words) { if (w.startsWith(pref)) { ++ans; } } return ans; } }
-
class Solution { public: int prefixCount(vector<string>& words, string pref) { int ans = 0; for (auto& w : words) ans += w.find(pref) == 0; return ans; } };
-
class Solution: def prefixCount(self, words: List[str], pref: str) -> int: return sum(w.startswith(pref) for w in words)
-
func prefixCount(words []string, pref string) (ans int) { for _, w := range words { if strings.HasPrefix(w, pref) { ans++ } } return }
-
function prefixCount(words: string[], pref: string): number { return words.reduce((r, s) => (r += s.startsWith(pref) ? 1 : 0), 0); }
-
impl Solution { pub fn prefix_count(words: Vec<String>, pref: String) -> i32 { words .iter() .filter(|s| s.starts_with(&pref)) .count() as i32 } }