From 133c581ca3b6ac5a6182d2a20381df86add6f270 Mon Sep 17 00:00:00 2001 From: akmhmgc Date: Sat, 27 Sep 2025 16:52:52 +0900 Subject: [PATCH] 139 --- 139/slice_time_vs_n.png | Bin 0 -> 97211 bytes 139/step1.md | 71 +++++++++++++++++++++++++++++++++++ 139/step2.md | 81 ++++++++++++++++++++++++++++++++++++++++ 139/step3.md | 22 +++++++++++ 139/step4.md | 1 + 5 files changed, 175 insertions(+) create mode 100644 139/slice_time_vs_n.png create mode 100644 139/step1.md create mode 100644 139/step2.md create mode 100644 139/step3.md create mode 100644 139/step4.md diff --git a/139/slice_time_vs_n.png b/139/slice_time_vs_n.png new file mode 100644 index 0000000000000000000000000000000000000000..ae8e8d4fc6cd834c4fd12cae57b868257762a06f GIT binary patch literal 97211 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 (str) { + return true if str.empty? + return false if word_to_segmented[str] == false + + word_dict.each do |word| + next unless str.start_with?(word) + return true if word_break_helper.call(str[(word.size)..-1]) + end + word_to_segmented[str] = false + false + } + word_break_helper.call(str) +end +``` + +後から文字列のスライスのコストを考慮してなかったことに気づいた。 +文字列のスライスコストを入れるとN * W * (L + N)なのでL * N^2になる。そうなるとRubyでギリギリかもしれないが、LeetCode上では想定以上に速い気がする。 + +Rubyのスライスメソッドを見たところ、ASCII文字列のスライスはO(1)であるが、マルチバイト文字列のスライスはO(N)らしい。 +ベンチマークを取ってみると大きな差が出た。 + +```ruby +require 'benchmark' + +n = 10 ** 7 +ascii = "a" * n +multibyte = "あ" * n +Benchmark.bm do |x| + x.report("ASCII") do + ascii[0..(n - 1)] + end + x.report("multibyte") do + multibyte[0..(n - 1)] + end +end +``` + +``` + user system total real +ASCII 0.000005 0.000001 0.000006 ( 0.000003) +multibyte 0.004765 0.000155 0.004920 ( 0.004920) +``` + +確かにマルチバイト文字列のスライスの時間は線形に伸びている。スライスだけではなくマルチバイト文字のインデックスへのアクセスもO(N)っぽい。 +![slice_time_vs_n](./slice_time_vs_n.png) + + diff --git a/139/step2.md b/139/step2.md new file mode 100644 index 0000000..4a19bd9 --- /dev/null +++ b/139/step2.md @@ -0,0 +1,81 @@ +# step2 他の方の解答を見る +## Bottom up DP +https://github.com/h1rosaka/arai60/pull/41/files#diff-25f1226927fe56c505f4cbf2124534215d66f3c2ca0decf160a04dc095c93e83R83-R101 + +```ruby +# @param {String} str +# @param {String[]} word_dict +# @return {Boolean} +def word_break(str, word_dict) + str_size = str.size + return true if str_size.zero? + return false if word_dict.size.zero? + + segmented = Array.new(str_size + 1, false) + segmented[0] = true + 1.upto(str_size + 1).each do |end_index| + word_dict.each do |word| + next if end_index < word.size + + if segmented[end_index - word.size] && str[(end_index - word.size)...end_index] == word + segmented[end_index] = true + break + end + end + end + segmented.last +end +``` + +indexがわかりにくくてミスしそう。 + +## ローリングハッシュ + +```ruby +# @param {String} str +# @param {String[]} word_dict +# @return {Boolean} +def word_break(str, word_dict) + return true if str.empty? + str_size = str.size + + mod = 1_000_000_007 + base = 29 + + byte_of = ->(byte) { byte - 96 } + + prefix_hashes = Set.new + word_hashes = Set.new + + word_dict.each do |w| + hash = 0 + w.each_byte do |b| + hash = (hash * base + byte_of.call(b)) % mod + prefix_hashes.add(hash) + end + word_hashes.add(hash) + end + + reachable = Array.bnew(str_size, false) + + (0...str_size).each do |i| + next if i > 0 && !reachable[i - 1] + + hash = 0 + (i...str_size).each do |j| + hash = (hash * base + byte_of.call(str.getbyte(j))) % mod + + break unless prefix_hashes.include?(hash) + + if word_hashes.include?(hash) + reachable[j] = true + return true if j == str_size - 1 + end + end + end + + reachable[str_size - 1] +end +``` + +ハッシュの衝突が怖いので実際のプロダクションに導入したくないと感じた。 diff --git a/139/step3.md b/139/step3.md new file mode 100644 index 0000000..3af5983 --- /dev/null +++ b/139/step3.md @@ -0,0 +1,22 @@ +# step3 3回続けて10分以内に書いてエラーを出さなければOKとする + +```ruby +# @param {String} str +# @param {String[]} word_dict +# @return {Boolean} +def word_break(str, word_dict) + unreachable_suffixes = Set.new + is_reachable = ->(str){ + return true if str.empty? + return false if unreachable_suffixes.include?(str) + + word_dict.each do |word| + next unless str.start_with?(word) + return true if is_reachable.call(str[word.size..-1]) + end + unreachable_suffixes << str + false + } + is_reachable.call(str) +end +``` diff --git a/139/step4.md b/139/step4.md new file mode 100644 index 0000000..5941ee1 --- /dev/null +++ b/139/step4.md @@ -0,0 +1 @@ +## step4 レビューを受けて解答を修正