import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter' import { tomorrow } from 'react-syntax-highlighter/dist/esm/styles/prism' export default function CoreAlgorithm() { const distanceCode = ` function calcMd5Distance(s1, s2) { let distance = 0; for (let i = 0; i < Math.min(s1.length, s2.length); i++) { if (s1[i] === s2[i]) { continue; } distance += Math.abs(s1.charCodeAt(i) - s2.charCodeAt(i)); } return distance; } ` const sortCode = ` function makeSortedNameHashDistanceTuple(targetHash, names) { let nameHashDistanceTuple = names.map((name) => { let nameMd5 = makeMd5(name); let distance = calcMd5Distance(targetHash, nameMd5); return [name, nameMd5, distance]; }); // sort by distance nameHashDistanceTuple.sort((a, b) => { return a[2] - b[2]; }); return nameHashDistanceTuple; } ` return (

核心算法

md5 哈希计算依赖 js-md5 库。

{''}

哈希距离计算算法

{distanceCode}

哈希距离排序算法

{sortCode}
) }