随笔分类 -  javascript算法

通过实际的问题,用算法求解的例子
摘要:// 定义 bigRect 的尺寸 function range(min, max, step = 1) { const arr = []; for (let i = min; i <= max; i += step) { arr.push(i); } return arr; } const big 阅读全文
posted @ 2025-05-01 22:11 无工时代 阅读(20) 评论(0) 推荐(0)
摘要:通过网页生成一张Arial12字体的图,采集训练数据 一、将图二值化,采集3557个汉字、字母、数字的二值化二维数据 二、根据欧拉回路的思路,遍历所有的点到点线条 1、文字的最长公共路径:也就是文字的识别入口 通过统计,3557个字都包含的 以1开头的长度为2的公共路径有: [ '10,1,1', 阅读全文
posted @ 2023-01-13 12:34 无工时代 阅读(169) 评论(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 无工时代 阅读(254) 评论(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 无工时代 阅读(28) 评论(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 无工时代 阅读(40) 评论(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 无工时代 阅读(43) 评论(0) 推荐(0)
摘要:/* * 分类器*/ class ArraySplit { constructor(getDis) { this.getDis=getDis; } //计算元素key的最大长度dis、最大长度对应的元素arr getMaxKey(key1,indexArr,sArr) { const getDis= 阅读全文
posted @ 2021-05-13 16:59 无工时代 阅读(110) 评论(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 无工时代 阅读(114) 评论(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 无工时代 阅读(68) 评论(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 无工时代 阅读(96) 评论(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 无工时代 阅读(111) 评论(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 无工时代 阅读(177) 评论(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 无工时代 阅读(199) 评论(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 无工时代 阅读(207) 评论(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 无工时代 阅读(196) 评论(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 无工时代 阅读(228) 评论(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 无工时代 阅读(269) 评论(0) 推荐(0)
摘要:逻辑思路 1、选举第一位大哥DG1,大哥离每个小弟的平均距离最短 2、选举第二位大哥DG2,大哥离每个小弟的平均距离最短,DG2与老大哥们DG1的距离大于平均距离,则是新大哥,否则分到已存在的大哥类别中 3、重复所有过程,选举出所有大哥 const arr=[ [10,2,3,4], [11,2,3 阅读全文
posted @ 2020-07-24 15:57 无工时代 阅读(432) 评论(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 无工时代 阅读(418) 评论(0) 推荐(0)
摘要:复杂度 1、求后缀数组,用的二分查找法和基类比较,所以时间复杂度是 n*lg2n,只保存后缀的位置,空间复杂度是n 2、比较查找,没有公共部分的情况,str1排名的最小值>str2排名的最大值 或者 str1排名的最大值>str2排名的最小值,就认为没有公共部分,复杂度为2 3、比较查找,有公共部分 阅读全文
posted @ 2020-07-05 19:03 无工时代 阅读(286) 评论(0) 推荐(0)