problemscpp
A collection of my answers to algorithm problems in c++.
静态 Public 成员函数 | 所有成员列表
leetcode::sum_of_scores_of_built_strings::Solution类 参考

#include <leetcode.h>

静态 Public 成员函数

static long long sumScores (string s)
 

详细描述

在文件 leetcode.h2027 行定义.

成员函数说明

◆ sumScores()

long long leetcode::sum_of_scores_of_built_strings::Solution::sumScores ( string  s)
static

在文件 leetcode.cpp5501 行定义.

5501 {
5502 const int n = s.length();
5503 long long ans = n;
5504 int l = 0;
5505 int r = 0;
5506 vector z(n, 0);
5507 for(int i = 1; i < n; ++i) {
5508 if(i <= r && z[i - l] < r - i + 1) {
5509 z[i] = z[i - l];
5510 } else {
5511 z[i] = max(0, r - i + 1);
5512 while(i + z[i] < n && s[z[i]] == s[i + z[i]]) {
5513 ++z[i];
5514 }
5515 }
5516 if(i + z[i] - 1 > r) {
5517 l = i;
5518 r = i + z[i] - 1;
5519 }
5520 ans += z[i];
5521 }
5522 return ans;
5523 }

被这些函数引用 leetcode::sum_of_scores_of_built_strings::TEST().


该类的文档由以下文件生成: