#!/usr/bin/env bash
set -e
if [ $# != 2 ]; then
echo Usage: "$0" string1 string2
exit 1
fi
function min () {
minval="$1"
shift
for val in "$@"; do
if [ "$val" -lt "$minval" ]; then
minval="$val"
fi
done
echo "$minval"
}
function setval () {
export "cache_$1_$2"="$3"
}
function getval () {
varname="cache_$1_$2"
echo "${!varname}"
}
len_first=${#1}
len_second=${#2}
for ((i=0; i <= len_first; i++)) do
setval "$i" 0 "$i"
done
for ((j=0; j <= len_second; j++)) do
setval 0 "$j" "$j"
done
for ((i=1;i<=len_first;i++)) do
for ((j=1;j<=len_second;j++)) do
char1="${1:$((i-1)):1}"
char2="${2:$((j-1)):1}"
if [ "$char1" = "$char2" ]; then
adder=0
else
adder=1
fi
cand1=$(($(getval "$i" $((j-1)))+1))
cand2=$(($(getval $((i-1)) "$j")+1))
cand3=$(($(getval $((i-1)) $((j-1)))+adder))
setval "$i" "$j" "$(min $cand1 $cand2 $cand3)"
done
done
getval "$len_first" "$len_second"
생각보다는 깔끔하네
디시앱 좆병신같은거 가로스크롤할때마다 뒤로가지네 UI UX좆박앗노