Leetcode—2950. 可整除子串的数量【中等】Plus(前缀和题型)

2024每日刷题(一零八)

Leetcode—2950. 可整除子串的数量

在这里插入图片描述

算法思想

f ( c ) = d , 其中 d = 1 , 2 , . . . , 9 f(c) = d, 其中d = 1, 2, ..., 9 f(c)=d,其中d=1,2,...,9.

//    f(c1) + f(c2) + ... + f(ck) / k = avg
// => f(c1) + f(c2) + ... + f(ck) - k * avg, where avg in [1, 9].

在这里插入图片描述

实现代码

class Solution {
   
public:
    int f(char c) {
   
        return 9 - ('z' - c) / 3;
    }

    int countDivisibleSubstrings(string word) {
   
        int ans = 0;
        for(int avg = 1; avg <= 9; avg++) {
   
            int prefix = 0;
            unordered_map<int, int> m{
   {
   0, 1}};
            for(auto c: word) {
   
                prefix += f(c) - avg;
                ans += m[prefix]++;
            }
        }
        return ans;
    }
};

运行结果

在这里插入图片描述
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-03 04:00:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-03 04:00:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-03 04:00:03       82 阅读
  4. Python语言-面向对象

    2024-02-03 04:00:03       91 阅读

热门阅读

  1. Spring声明式事务

    2024-02-03 04:00:03       62 阅读
  2. 算法练习03——滑动窗口

    2024-02-03 04:00:03       59 阅读
  3. JC/T 2569-2020 建筑门窗用木型材检测

    2024-02-03 04:00:03       55 阅读
  4. 索引的设计原则(MySQL)

    2024-02-03 04:00:03       51 阅读
  5. RAG +milvus示例

    2024-02-03 04:00:03       62 阅读
  6. 深度学习之图像分类

    2024-02-03 04:00:03       57 阅读
  7. 亚马逊国际获得AMAZON商品详情 API

    2024-02-03 04:00:03       59 阅读
  8. 【前端学习路线】

    2024-02-03 04:00:03       49 阅读
  9. 一个网址导航后台系统

    2024-02-03 04:00:03       54 阅读