首页 > 其他分享 >力扣每日一题2023.1.8---2185. 统计包含给定前缀的字符串

力扣每日一题2023.1.8---2185. 统计包含给定前缀的字符串

时间:2023-01-08 11:22:06浏览次数:50  
标签:力扣 前缀 pref --- 2023.1 words 字符串 String

最近力扣好像经常鸽,感觉得找点时间补一补了, 毕竟算法现在学的还是太辣鸡了。

 

给你一个字符串数组 words 和一个字符串 pref 。
返回 words 中以 pref 作为 前缀 的字符串的数目。
字符串 s 的 前缀 就是  s 的任一前导连续字符串。

示例 1:
输入:words = ["pay","attention","practice","attend"], pref = "at"
输出:2
解释:以 "at" 作为前缀的字符串有两个,分别是:"attention" 和 "attend" 。

示例 2:
输入:words = ["leetcode","win","loops","success"], pref = "code"
输出:0
解释:不存在以 "code" 作为前缀的字符串。

提示:
    1 <= words.length <= 100
    1 <= words[i].length, pref.length <= 100
    words[i] 和 pref 由小写英文字母组成
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/counting-words-with-a-given-prefix
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

这次的没啥好说的,当words中的某个字符串长度小于pref的长度时,可以直接判断不符合要求,根据这点可以进行剪枝,对暴力解法进行一定的优化。

代码如下:

class Solution {
    public int prefixCount(String[] words, String pref) {
        int res = 0;
        int len = pref.length();
        for (String s : words) {
            if (s.length() >= len) {
                if (s.substring(0, len).equals(pref)) {
                    res ++;
                }
            }
        }
        return res;
    }
}

运行结果如下:

 

标签:力扣,前缀,pref,---,2023.1,words,字符串,String
From: https://www.cnblogs.com/allWu/p/17034298.html

相关文章