821. Shortest Distance to a Character

Problem:

Given a string S and a character C, return an array of integers representing the shortest distance from the character C in the string.

Example 1:

Input: S = "loveleetcode", C = 'e'
Output: [3, 2, 1, 0, 1, 0, 0, 1, 2, 2, 1, 0]

Note:

  1. S string length is in [1, 10000].
  2. C is a single character, and guaranteed to be in string S.
  3. All letters in S and C are lowercase.

思路

Solution (C++):

vector<int> shortestToChar(string S, char C) {
    int n = S.length();
    vector<int> res(n, INT_MAX), index;
    
    for (int i = 0; i < n; ++i) {
        if (S[i] == C)  index.push_back(i);
    }
    for (int i = 0; i < n; ++i) {
        for (auto x : index) {
            res[i] = min(res[i], abs(i-x));
        }
    }
    return res;
}

性能

Runtime: 16 ms  Memory Usage: 6.4 MB

思路

Solution (C++):


性能

Runtime: ms  Memory Usage: MB

posted @ 2020-04-20 18:31  littledy  阅读(84)  评论(0编辑  收藏  举报