読者です 読者をやめる 読者になる 読者になる

アルゴリズムのキホン

アルゴリズムのキホン

だいぶ間が空いてしまった。よくないね。今日も少しだけど、続けないと。

「アルゴリズム」のキホン (イチバンやさしい理工系シリーズ)

「アルゴリズム」のキホン (イチバンやさしい理工系シリーズ)

第5章 並び替えと探索

  • 文字列探索
    大域脱出は初めてつかった。
base = "ABBBAC"
word = "BBA"

max_idx = word.length - 1
max_i = base.length - 1
i = 0

catch(:main) do
  loop do
    idx = 0
    tmp_i = i

    loop do
      break if base[tmp_i] != word[idx]
      throw(:main) if idx == max_idx
      tmp_i += 1
      idx += 1
    end

    if i == max_i
      i = nil
      break
    end

    i += 1
  end
end

puts "end : i = %s" % i