821 字元的最短距離

2021-10-12 12:41:22 字數 669 閱讀 8771

給定乙個字串 s 和乙個字元 c。返回乙個代表字串 s 中每個字元到字串 s 中的字元 c 的最短距離的陣列。

示例 1

:輸入: s =

"loveleetcode"

, c =

'e'輸出:[3

,2,1

,0,1

,0,0

,1,2

,2,1

,0]

思路:對於每個字元 s[i],試圖找出距離向左或者向右下乙個字元 c 的距離。答案就是這兩個值的較小值。

(1)從左向右遍歷,記錄上乙個字元 c出現的位置 prev,那麼答案就是 i - prev。

(2)從右想做遍歷,記錄上乙個字元 c 出現的位置 prev,那麼答案就是 prev - i。

class

solution

ans[i]

= i - prev;

} prev = integer.max_value /2;

for(

int i = n-

1; i >=0;

--i)

return ans;

}}

821 字元的最短距離

給定乙個字串s和乙個字元c。返回乙個代表字串s中每個字元到字串s中的字元c的最短距離的陣列。示例 1 輸入 s loveleetcode c e 輸出 3,2,1,0,1,0,0,1,2,2,1,0 說明 字串s的長度範圍為 1,10000 c是乙個單字元,且保證是字串s裡的字元。s和c中的所有字母...

821 字元的最短距離(C )

給定乙個字串s和乙個字元c。返回乙個代表字串s中每個字元到字串s中的字元c的最短距離的陣列。示例 1 輸入 s loveleetcode c e 輸出 3,2,1,0,1,0,0,1,2,2,1,0 說明 字串s的長度範圍為 1,10000 c是乙個單字元,且保證是字串s裡的字元。s和c中的所有字母...

Leetcode 821 字元的最短距離

給定乙個字串 s 和乙個字元 c。返回乙個代表字串 s 中每個字元到字串 s 中的字元 c 的最短距離的陣列。示例 1 輸入 s loveleetcode c e 輸出 3,2,1,0,1,0,0,1,2,2,1,0 說明 字串 s 的長度範圍為 1,10000 c 是乙個單字元,且保證是字串 s ...