Leetcode PHP問題解--D 49 821.Shortest Distance to a Character
1321 ワード
D49 821. Shortest Distance to a Character
タイトルリンク
821. Shortest Distance to a Character
テーマ分析
1つの文字列
指定された文字
構想
まずarray_keysは、文字列
現在遍歴されている位置が次の出現文字
そうでなければ、現在の下付き文字が前の出現文字
最終コード
この文章があなたに役に立つと思ったら、よくはつでんするで援助してください.
タイトルリンク
821. Shortest Distance to a Character
テーマ分析
1つの文字列
s
および1つの文字c
が与えられる.指定された文字
c
からの文字列の各文字の最短距離を返します.構想
まずarray_keysは、文字列
C
の文字S
の位置を見つけた.現在遍歴されている位置が次の出現文字
C
の前である場合、下付き文字を直接減算すると距離が得られる.そうでなければ、現在の下付き文字が前の出現文字
C
よりも大きく、次の文字C
が存在する場合、距離は両者の中で最も小さい.距離が0の場合、次に取得するC
の位置がマークされる.最終コード
$char){
$dist = abs($keys[$prev] - $index);
if($index > $keys[$prev] && isset($keys[$prev+1])){
$dist = min($index-$keys[$prev],$keys[$prev+1]-$index);
if($dist == 0){
$prev++;
}
}
$distances[] = $dist;
}
return $distances;
}
}
この文章があなたに役に立つと思ったら、よくはつでんするで援助してください.