返回
洞悉LeetCode PHP题解--D49 821. Shortest Distance to a Character--洞悉难点,运筹帷幄!
见解分享
2023-12-09 04:42:42
技术爱好者们,欢迎踏上LeetCode PHP题解--D49 821. Shortest Distance to a Character之旅!本篇博文将为你揭开这道题目的奥秘,助你轻松过关斩将!
1. 掌握挑战
LeetCode PHP题解--D49 821. Shortest Distance to a Character要求你找到字符串s中每个字符与指定字符c之间的最短距离。听起来似乎很复杂,但只要你掌握了正确的方法,这一切都将变得轻而易举。
2. 剖析关键步骤
第一步,使用array_keys函数定位字符c在字符串s中的位置。
第二步,遍历字符串s的每个字符,并计算出每个字符与字符c之间的最短距离。
第三步,将最短距离存储在一个数组中,并返回该数组。
3. 代码展现
<?php
function shortestDistanceToChar($s, $c) {
$n = strlen($s);
$indexes = array_keys($s, $c);
$distance = [];
for ($i = 0; $i < $n; $i++) {
$minDistance = $n;
foreach ($indexes as $index) {
$distanceToIndex = abs($i - $index);
if ($distanceToIndex < $minDistance) {
$minDistance = $distanceToIndex;
}
}
$distance[] = $minDistance;
}
return $distance;
}
$s = "loveleetcode";
$c = "e";
$result = shortestDistanceToChar($s, $c);
var_dump($result);
4. 细致剖析
1. array_keys函数:
此函数的作用是找出字符串中指定字符的位置,并以数组的形式返回。在本例中,它将找出字符串s中字符c的位置。
2. 遍历字符串s:
使用for循环遍历字符串s的每个字符。
3. 计算最短距离:
对于字符串s中的每个字符,计算出该字符与字符c之间的最短距离。
4. 存储最短距离:
将最短距离存储在一个数组中。
5. 返回数组:
返回存储最短距离的数组。
5. 总结升华
通过LeetCode PHP题解--D49 821. Shortest Distance to a Character,你学会了如何找到字符串s中每个字符与指定字符c之间的最短距离。掌握这一技能,你就能轻松解决更多类似的编程问题!