返回

洞悉LeetCode PHP题解--D49 821. Shortest Distance to a Character--洞悉难点,运筹帷幄!

见解分享


技术爱好者们,欢迎踏上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之间的最短距离。掌握这一技能,你就能轻松解决更多类似的编程问题!