Japanese subtitles

← 02ps-12 Find Last Solution

dummy description

Get Embed Code
6 Languages

Showing Revision 2 created 07/21/2014 by osawakjvta.

  1. この問題で定義するのは
  2. 2つのパラメータを受け取るfind_lastという関数です
  3. 1つは検索対象となる文字列で
    もう1つは見つける文字列です
  4. この関数が意図しているのは
  5. tの最後の出現位置を見つけることです
  6. last_posという変数を使いましょう
  7. 全体的な考えとしては
  8. tの出現を探している間に
  9. findメソッドを実行してオフセットを更新し続けます
  10. このwhile Trueで行いましょう
  11. いつ終了したいのかはまだ分かりません
  12. まず位置posを更新します
  13. それにはfindメソッドを使ってtを見つけます
  14. ただし最後の位置に1を加えた位置から開始します
  15. 同じ文字列を何度も探さないようにするために
    この“+ 1”をつけることが重要です
  16. これが-1を返した場合は
  17. tの別の出現が見つからなかったという意味です
  18. その場合はlast_posに保持されている
    前に見つけた出現位置を返します
  19. そうでない場合はlast_posの値を
    今見つけた位置に更新します
  20. 残っているのは
    last_posをどの値に設定するかということです
  21. s内にtの出現を見つけられない場合は
  22. -1を返すのが目標です
  23. 1つ目の繰り返しでposが-1と等しい場合は
  24. 単にlast_posを返します
  25. よってlast_posは-1に設定することになります