mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-11 02:58:13 +08:00
51 lines
2.2 KiB
HTML
51 lines
2.2 KiB
HTML
<p>给你一个字符串 <code>s</code> ,一个字符 <strong>互不相同</strong> 的字符串 <code>chars</code> 和一个长度与 <code>chars</code> 相同的整数数组 <code>vals</code> 。</p>
|
||
|
||
<p><strong>子字符串的开销</strong> 是一个子字符串中所有字符对应价值之和。空字符串的开销是 <code>0</code> 。</p>
|
||
|
||
<p><strong>字符的价值</strong> 定义如下:</p>
|
||
|
||
<ul>
|
||
<li>如果字符不在字符串 <code>chars</code> 中,那么它的价值是它在字母表中的位置(下标从 <strong>1</strong> 开始)。
|
||
|
||
<ul>
|
||
<li>比方说,<code>'a'</code> 的价值为 <code>1</code> ,<code>'b'</code> 的价值为 <code>2</code> ,以此类推,<code>'z'</code> 的价值为 <code>26</code> 。</li>
|
||
</ul>
|
||
</li>
|
||
<li>否则,如果这个字符在 <code>chars</code> 中的位置为 <code>i</code> ,那么它的价值就是 <code>vals[i]</code> 。</li>
|
||
</ul>
|
||
|
||
<p>请你返回字符串 <code>s</code> 的所有子字符串中的最大开销。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<pre><b>输入:</b>s = "adaa", chars = "d", vals = [-1000]
|
||
<b>输出:</b>2
|
||
<b>解释:</b>字符 "a" 和 "d" 的价值分别为 1 和 -1000 。
|
||
最大开销子字符串是 "aa" ,它的开销为 1 + 1 = 2 。
|
||
2 是最大开销。
|
||
</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre><b>输入:</b>s = "abc", chars = "abc", vals = [-1,-1,-1]
|
||
<b>输出:</b>0
|
||
<b>解释:</b>字符 "a" ,"b" 和 "c" 的价值分别为 -1 ,-1 和 -1 。
|
||
最大开销子字符串是 "" ,它的开销为 0 。
|
||
0 是最大开销。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>1 <= s.length <= 10<sup>5</sup></code></li>
|
||
<li><code>s</code> 只包含小写英文字母。</li>
|
||
<li><code>1 <= chars.length <= 26</code></li>
|
||
<li><code>chars</code> 只包含小写英文字母,且 <strong>互不相同</strong> 。</li>
|
||
<li><code>vals.length == chars.length</code></li>
|
||
<li><code>-1000 <= vals[i] <= 1000</code></li>
|
||
</ul>
|