随笔分类 -  javascript算法

通过实际的问题,用算法求解的例子
摘要:通过网页生成一张Arial12字体的图,采集训练数据 一、将图二值化,采集3557个汉字、字母、数字的二值化二维数据 二、根据欧拉回路的思路,遍历所有的点到点线条 1、文字的最长公共路径:也就是文字的识别入口 通过统计,3557个字都包含的 以1开头的长度为2的公共路径有: [ '10,1,1', 阅读全文
posted @ 2023-01-13 12:34 无工时代 阅读(155) 评论(0) 推荐(0) 编辑
摘要:Array.prototype.findSort=function(num1) { var hasSortArr=this; var l=0,r=hasSortArr.length; var lock=-1; var dis=0; var dis1=0,dis2=0; if(hasSortArr.l 阅读全文
posted @ 2022-01-03 21:58 无工时代 阅读(231) 评论(0) 推荐(0) 编辑
摘要:Array.prototype.findSort=function(num1) { var hasSortArr=this; var l=0,r=hasSortArr.length; var lock=-1; var dis=0; var dis1=0,dis2=0; if(hasSortArr.l 阅读全文
posted @ 2021-12-31 19:11 无工时代 阅读(20) 评论(0) 推荐(0) 编辑
摘要:const getV=require('./getV') const numTobase62=require('./numTobase62') function getUniformLBPMap() { const map={} let index=0; for(let i=0;i<256;i++) 阅读全文
posted @ 2021-11-26 19:11 无工时代 阅读(33) 评论(0) 推荐(0) 编辑
摘要:const PNG = require("pngjs").PNG; const fs=require('fs') require('./sortAdd') const getGrayData=require('./getGrayData') const {getLbpData,getUniformL 阅读全文
posted @ 2021-11-26 19:09 无工时代 阅读(35) 评论(0) 推荐(0) 编辑
摘要:/* * 分类器*/ class ArraySplit { constructor(getDis) { this.getDis=getDis; } //计算元素key的最大长度dis、最大长度对应的元素arr getMaxKey(key1,indexArr,sArr) { const getDis= 阅读全文
posted @ 2021-05-13 16:59 无工时代 阅读(100) 评论(0) 推荐(0) 编辑
摘要://欧几里得算法 求两个数a、b的最大公约数 function gcd(a,b){ return b 0?a:gcd(b,a%b) } //获取一个位置的相似度 function getOneSame(x,y,rect1,rect2){ let endn,n,i; const arrX=[] con 阅读全文
posted @ 2021-05-13 14:16 无工时代 阅读(97) 评论(0) 推荐(0) 编辑
摘要://比较两字符的大小、相等长度、是否包含 function compareLen(str1,str2,n1=0,n2=0) { //求出相等部分 let len=0; let dis=-2; let isEnd=1; while (dis 2){ const l1=n1+len const l2=n 阅读全文
posted @ 2021-04-19 20:22 无工时代 阅读(56) 评论(0) 推荐(0) 编辑
摘要://比较两字符的相等长度和大小 function compareLen(n1,n2,str1,str2) { //求出相等部分 var len=0; while (n1+len<=str1.length&&n2+len<=str2.length&&str1.charCodeAt(n1+len) st 阅读全文
posted @ 2021-04-16 18:22 无工时代 阅读(80) 评论(0) 推荐(0) 编辑
摘要:思路: 1、从点结构变成平行线条结构 2、线条对象 { x,y,w,v, area:{ w, h:1, s, e:s, bg:-1 },} 3、从线结构提取梯度数据area 4、判断区域area是否为背景 if(area.w>88){ isBg=true} 5、求最近的背景,识别文字内的背景色 le 阅读全文
posted @ 2021-03-22 17:18 无工时代 阅读(97) 评论(0) 推荐(0) 编辑
摘要://获取两个字符的距离 function getDis(s1,s2) { var n=s1.length,m=s2.length;//长度 var n1=0,n2=0;//扫描点 let dis=0; //开始扫描 while (n1<n&&n2<m){ //相等 if(s1[n1] s2[n2]) 阅读全文
posted @ 2020-09-23 11:45 无工时代 阅读(166) 评论(0) 推荐(0) 编辑
摘要:const EPS=0.00000001; //单个向量的弧度 function getSingleRadian(x) { const d1=x[0]; const d2=Math.sqrt(x.reduce((acc, n) => acc + Math.pow(n, 2), 0)); if(Mat 阅读全文
posted @ 2020-09-22 14:14 无工时代 阅读(185) 评论(0) 推荐(0) 编辑
摘要://二分法搜索范围,返回 [start,end] 或者 index function findScope(str,hasSortArr,callback) { var lm,rm; var l=0,r=hasSortArr.length; var has=false; while(l<r){ con 阅读全文
posted @ 2020-09-21 23:41 无工时代 阅读(197) 评论(0) 推荐(0) 编辑
摘要://压缩增量包 function MinChunk(chunkArr,s1) { var minChunk=[] for(let i=0;i<chunkArr.length;i++){ let arr=chunkArr[i]; if(arr[0] 'e'&&arr[2]<String(arr[1]) 阅读全文
posted @ 2020-09-18 15:30 无工时代 阅读(182) 评论(0) 推荐(0) 编辑
摘要://比较两字符的相等长度和大小 function compareLen(n1,n2,str1,str2) { //求出相等部分 var len=0; while (n1+len<=str1.length&&n2+len<=str2.length&&str1.charCodeAt(n1+len) st 阅读全文
posted @ 2020-09-18 14:36 无工时代 阅读(219) 评论(0) 推荐(0) 编辑
摘要:/** 文字分词 隐马尔可夫模型 共4种状态S B M E AMap 为状态转移概率矩阵 4*4,表示从{S B M E}到{S B M E}的概率 BMap 为当前字属于某种状态{S B M E}的概率 * */ //有限状态 const S=['S','B','M','E'] const sta 阅读全文
posted @ 2020-08-21 18:53 无工时代 阅读(246) 评论(0) 推荐(0) 编辑
摘要:逻辑思路 1、选举第一位大哥DG1,大哥离每个小弟的平均距离最短 2、选举第二位大哥DG2,大哥离每个小弟的平均距离最短,DG2与老大哥们DG1的距离大于平均距离,则是新大哥,否则分到已存在的大哥类别中 3、重复所有过程,选举出所有大哥 const arr=[ [10,2,3,4], [11,2,3 阅读全文
posted @ 2020-07-24 15:57 无工时代 阅读(427) 评论(0) 推荐(0) 编辑
摘要://排名函数 const compareLen=function (str1,str2,start=0) { let dis=0; let len=0; while (dis 0&&start+len<str1.length&&len<str2.length){ //超过字符,返回小于 if(str 阅读全文
posted @ 2020-07-13 16:16 无工时代 阅读(413) 评论(0) 推荐(0) 编辑
摘要:复杂度 1、求后缀数组,用的二分查找法和基类比较,所以时间复杂度是 n*lg2n,只保存后缀的位置,空间复杂度是n 2、比较查找,没有公共部分的情况,str1排名的最小值>str2排名的最大值 或者 str1排名的最大值>str2排名的最小值,就认为没有公共部分,复杂度为2 3、比较查找,有公共部分 阅读全文
posted @ 2020-07-05 19:03 无工时代 阅读(270) 评论(0) 推荐(0) 编辑
摘要://查找 function find(str,hasSortArr,callback) { let l=0,r=hasSortArr.length; let index=-1; if(hasSortArr.length>0){ const ri=callback(str,hasSortArr[r-1 阅读全文
posted @ 2020-07-05 14:32 无工时代 阅读(217) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示