列表

详情


100236. 统计以给定字符开头和结尾的子字符串总数

给你一个字符串 s 和一个字符 c 。返回在字符串 s 中并且以 c 字符开头和结尾的非空子字符串的总数。

 

示例 1:

输入:s = "abada", c = "a"

输出:6

解释:"a" 开头和结尾的子字符串有: "abada""abada""abada""abada""abada""abada"

示例 2:

输入:s = "zzz", c = "z"

输出:6

解释:字符串 s 中总共有 6 个子字符串,并且它们都以 "z" 开头和结尾。

 

提示:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: long long countSubstrings(string s, char c) { } };

golang 解法, 执行用时: 6 ms, 内存消耗: 4.1 MB, 提交时间: 2024-03-18 22:32:00

func countSubstrings(s string, c byte) int64 {
	k := int64(strings.Count(s, string(c)))
	return k * (k + 1) / 2
}

java 解法, 执行用时: 7 ms, 内存消耗: 43.8 MB, 提交时间: 2024-03-18 22:31:28

class Solution {
    public long countSubstrings(String s, char c) {
        long k = s.chars().filter(ch -> ch == c).count();
        return k * (k + 1) / 2;
    }
}

python3 解法, 执行用时: 42 ms, 内存消耗: 16.8 MB, 提交时间: 2024-03-18 22:31:07

class Solution:
    def countSubstrings(self, s: str, c: str) -> int:
        return comb(s.count(c) + 1, 2)

上一题