diff options
author | y <y@maps.me> | 2017-08-01 18:50:05 +0300 |
---|---|---|
committer | mpimenov <mpimenov@users.noreply.github.com> | 2017-08-01 19:03:29 +0300 |
commit | 39d664755c7d06cfd5e6a9e9b6b7acfffdaf01ed (patch) | |
tree | c3f529a2806a4889eab88beb49b2586822e4634c | |
parent | 0a432a02f2d4373d055dd29e4c9c0d4e4beb70d8 (diff) |
[base] Fixed LevenshteinDFA.beta-944
-rw-r--r-- | base/levenshtein_dfa.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/base/levenshtein_dfa.cpp b/base/levenshtein_dfa.cpp index 5554a21d7f..09587116b2 100644 --- a/base/levenshtein_dfa.cpp +++ b/base/levenshtein_dfa.cpp @@ -143,8 +143,10 @@ bool LevenshteinDFA::Position::operator==(Position const & rhs) const // LevenshteinDFA::State --------------------------------------------------------------------------- void LevenshteinDFA::State::Normalize() { + size_t i = 0; size_t j = m_positions.size(); - for (size_t i = 0; i < j; ++i) + + while (i < j) { auto const & cur = m_positions[i]; @@ -156,6 +158,10 @@ void LevenshteinDFA::State::Normalize() --j; std::swap(m_positions[i], m_positions[j]); } + else + { + ++i; + } } m_positions.erase(m_positions.begin() + j, m_positions.end()); |