java.lang.Object
g0801_0900.s0821_shortest_distance_to_a_character.Solution

public class Solution extends Object
821 - Shortest Distance to a Character.<p>Easy</p> <p>Given a string <code>s</code> and a character <code>c</code> that occurs in <code>s</code>, return <em>an array of integers</em> <code>answer</code> <em>where</em> <code>answer.length == s.length</code> <em>and</em> <code>answer[i]</code> <em>is the <strong>distance</strong> from index</em> <code>i</code> <em>to the <strong>closest</strong> occurrence of character</em> <code>c</code> <em>in</em> <code>s</code>.</p> <p>The <strong>distance</strong> between two indices <code>i</code> and <code>j</code> is <code>abs(i - j)</code>, where <code>abs</code> is the absolute value function.</p> <p><strong>Example 1:</strong></p> <p><strong>Input:</strong> s = &ldquo;loveleetcode&rdquo;, c = &ldquo;e&rdquo;</p> <p><strong>Output:</strong> [3,2,1,0,1,0,0,1,2,2,1,0]</p> <p><strong>Explanation:</strong> The character &lsquo;e&rsquo; appears at indices 3, 5, 6, and 11 (0-indexed).</p> <p>The closest occurrence of &lsquo;e&rsquo; for index 0 is at index 3, so the distance is abs(0 - 3) = 3.</p> <p>The closest occurrence of &lsquo;e&rsquo; for index 1 is at index 3, so the distance is abs(1 - 3) = 2.</p> <p>For index 4, there is a tie between the &lsquo;e&rsquo; at index 3 and the &lsquo;e&rsquo; at index 5, but the distance is still the same: abs(4 - 3) == abs(4 - 5) = 1.</p> <p>The closest occurrence of &lsquo;e&rsquo; for index 8 is at index 6, so the distance is abs(8 - 6) = 2.</p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> s = &ldquo;aaab&rdquo;, c = &ldquo;b&rdquo;</p> <p><strong>Output:</strong> [3,2,1,0]</p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= s.length <= 10<sup>4</sup></code></li> <li><code>s[i]</code> and <code>c</code> are lowercase English letters.</li> <li>It is guaranteed that <code>c</code> occurs at least once in <code>s</code>.</li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • shortestToChar

      public int[] shortestToChar(String s, char c)