国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Ruby > 正文

Ruby實(shí)現(xiàn)的最短編輯距離計(jì)算方法

2020-10-29 19:39:14
字體:
供稿:網(wǎng)友

利用動(dòng)態(tài)規(guī)劃算法,實(shí)現(xiàn)最短編輯距離的計(jì)算。

復(fù)制代碼 代碼如下:

#encoding: utf-8
#author: xu jin
#date: Nov 12, 2012
#EditDistance
#to find the minimum cost by using EditDistance algorithm
#example output:
#  "Please input a string: "
#  exponential
#  "Please input the other string: "
#  polynomial
#  "The expected cost is 6"
#  The result is :
#    ["e", "x", "p", "o", "n", "e", "n", "-", "t", "i", "a", "l"]
#    ["-", "-", "p", "o", "l", "y", "n", "o", "m", "i", "a", "l"]

p "Please input a string: "
x = gets.chop.chars.map{|c| c}
p "Please input the other string: "
y = gets.chop.chars.map{|c| c}
x.unshift(" ")
y.unshift(" ")
e = Array.new(x.size){Array.new(y.size)}
flag = Array.new(x.size){Array.new(y.size)}
DEL, INS, CHA, FIT = (1..4).to_a  #deleat, insert, change, and fit
 
def edit_distance(x, y, e, flag)
  (0..x.length - 1).each{|i| e[i][0] = i}
  (0..y.length - 1).each{|j| e[0][j] = j}
  diff = Array.new(x.size){Array.new(y.size)}
  for i in(1..x.length - 1) do
    for j in(1..y.length - 1) do
      diff[i][j] = (x[i] == y[j])? 0: 1
      e[i][j] = [e[i-1][j] + 1, e[i][j - 1] + 1, e[i-1][j - 1] + diff[i][j]].min
      if e[i][j] == e[i-1][j] + 1
        flag[i][j] = DEL
      elsif e[i][j] == e[i-1][j - 1] + 1
        flag[i][j] = CHA
      elsif e[i][j] == e[i][j - 1] + 1
        flag[i][j] = INS      
      else flag[i][j] = FIT
      end    
    end
  end 
end

out_x, out_y = [], []

def solution_structure(x, y, flag, i, j, out_x, out_y)
  case flag[i][j]
  when FIT
    out_x.unshift(x[i])
    out_y.unshift(y[j]) 
    solution_structure(x, y, flag, i - 1, j - 1, out_x, out_y)
  when DEL
    out_x.unshift(x[i])
    out_y.unshift('-')
    solution_structure(x, y, flag, i - 1, j, out_x, out_y)
  when INS
    out_x.unshift('-')
    out_y.unshift(y[j])
    solution_structure(x, y, flag, i, j - 1, out_x, out_y)
  when CHA
    out_x.unshift(x[i])
    out_y.unshift(y[j])
    solution_structure(x, y, flag, i - 1, j - 1, out_x, out_y)
  end
  #if flag[i][j] == nil ,go here
  return if i == 0 && j == 0   
  if j == 0
      out_y.unshift('-')
      out_x.unshift(x[i])
      solution_structure(x, y, flag, i - 1, j, out_x, out_y)
  elsif i == 0
      out_x.unshift('-')
      out_y.unshift(y[j])
      solution_structure(x, y, flag, i, j - 1, out_x, out_y)
  end
end

edit_distance(x, y, e, flag)
p "The expected edit distance is #{e[x.length - 1][y.length - 1]}"
solution_structure(x, y, flag, x.length - 1, y.length - 1, out_x, out_y)
puts "The result is : /n  #{out_x}/n  #{out_y}"


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
天堂资源在线中文| 欧美日韩一区二区三区视视频| 伊人永久在线| 伊人精品影院| 人人干人人插| 国产三级自拍| jizz在线视频| 国产蜜臀av在线播放| 国产午夜精品久久久久免费视| √天堂中文在线| 国产香蕉视频在线观看| 92久久精品| 久久国产热视频| 国产日产一区二区| 亚洲精品天堂在线观看| 日本亚洲欧美| 18激情网站| 开心丁香婷婷深爱五月| 国产黄色免费网站| 青青草视频在线免费观看| 最近最好的中文字幕2019免费| a√在线视频| 国产毛片在线看| av中文在线| 国产高清大尺度一区二区不卡| 香蕉视频在线观看www| 国产男女无套在线播放| 夜夜爽视频导航| 国产天堂在线| 九九在线视频| 亚洲an天堂an在线观看| 1区2区3区在线| 久久香蕉av| 免费三级毛片| www.夜夜操| 亚洲视频在线网| a√在线视频| 精品美女调教视频| 国产黄网站在线观看| 国产九九在线| 中文字幕视频在线| 国产一级片麻豆| 丁香婷婷激情| 最近中文字幕mv免费高清电影| 久久久久久久久久久久网站 | 久久久久久久久久久久久91| 99在线视频影院| 18av在线视频| 国产网站免费观看| 国产亚洲依依| 777电影在线观看| 精品久久亚洲一级α| 2020亚洲男人天堂| 亚洲天堂影院在线观看| 日本啊v在线| 久久精品亚洲7777影院| 成人超碰在线| 天堂在线中文资源| 黄网在线免费| 国产精品视频h| 伊人福利在线| 开心婷婷激情| 国产秀色在线www免费观看| 国产偷窥老熟盗摄视频| 18av在线视频| 青青草在线视频免费观看| 九色精品视频在线观看| 国产精品久久久高清免费| 在线视频观看你懂的| 男人天堂网在线观看| 国产精品久久久久一区二区国产 | 中文在线有码| 日本韩国精品一区二区| 国产美女在线播放| 2018中文字幕在线观看| 免费a级人成a大片在线观看| 国产丝袜在线| 激情综合丁香| ·天天天天操| 天天操天天射天天色| 一本久久精品| 国产精品蜜臀| 91超碰免费在线| 久久国产综合视频| 伊人久久青青草| 午夜视频在线看| 黄色av免费看| 免费网站看黄yyy222| 一级二级三级在线观看| 96久久久久久| 精品无人乱码| 在线天堂视频| 亚洲精品在线播放视频| 国产精品爱久久久久久久小说| 国产中文字幕网| 欧美婷婷久久五月精品三区| 四虎成人免费观看在线网址| 国产精品白浆流出视频| 国产呻吟对白刺激无套视频在线| 国产在线高清理伦片a| eeuss影院在线| 久热精品视频在线播放| 欧美高清xxxx性| 欧美日韩综合高清一区二区| av在线免费观看网| 日本h视频在线观看| 日韩在线天堂| 成人欧美精品久久久久影院| 福利在线观看| 国产三级在线播放| 91中文字幕| 日韩欧美中文字幕不卡| 蜜桃av在线免费观看| 91超碰国产在线| 2018中文字幕在线观看| 97视频在线观看网站| av在线网页| 1区2区3区在线| 精品久久亚洲一级α| av在线免费播放网站| 国内外激情在线| 国产福利在线播放麻豆| 午夜在线不卡| 91caoporn在线| 在线播放黄色网址| 蜜桃视频中文字幕| 国产精品免费视频一区一| 香蕉视频网站在线观看| 五月综合网站| 日本久久国产| 最新超碰在线| 人人澡人人爽| 中文天堂av| 国产视频第一区| 免费男女羞羞的视频网站中文字幕| 国产麻豆精品一区二区三区v视界| 69av二区| 日本中文字幕高清视频| 在线观看av的网站| 国产精品综合久久久久| 亚洲天堂久久久| 国产午夜在线观看| 久久国产热视频| 亚洲欧美精品日韩欧美| 国产黄视频在线观看| 美女被人操视频在线观看| 91精品专区| 国产三区在线观看| 九九99九九精彩| 日本欧洲一区| av一级在线| 99reav在线| 在线色视频网| 国产精品久久精品牛牛影视| 国产免费黄网站| 狠狠干在线视频| 免费看的av| 日本一本久久| 日本精品一区二区三区在线播放| av高清资源| 精品推荐蜜桃传媒| 国产福利av网站| 国产超碰在线| 97视频在线观看网站| 国产精品人人| 国产黄在线观看| 精品视频在线一区二区| 中文字幕av在线播放| 精品国内自产拍在线视频| 国产福利电影在线观看| 精品国产免费第一区二区| 99reav在线| 青青草视频免费在线观看| 牛牛热在线视频| 天天av天天爱| 国产视频精选在线| 91欧洲在线视精品在亚洲| 在线视频观看你懂的| 欧美性猛交xxxx免费看久久| 九九热在线观看| 1区2区3区在线| 四虎影院成人| 中文字幕中文字幕在线中高清免费版| 国产日韩欧美第一页| 伊人影院在线观看| 久久香蕉av| 精精国产xxxx视频在线| 国产中文字幕在线视频| 69国产精品视频| 国产在线拍揄自揄拍视频| 国产精品午夜久久久久久| 国产福利一区二区在线精品| sese在线视频| 18激情网站| 国产一级免费看| 超碰97在线免费观看| 国产区视频在线| 久久精品国产亚洲a∨麻豆| 国产不卡一卡2卡三卡4卡5卡在线| gogogo影视剧免费观看在线观看|