nodejs
(def p [])
stand your ground!
展开
-
swagger转markdown
swagger转markdown简介开始安装nodejsclone项目,安装依赖使用简介使用github上开源项目实现swagger转markdown。开始安装nodejs略clone项目,安装依赖git clone https://github.com/Mermade/widdershins.gitcd widdershinsnpm i使用node widdershins --search false --language_tabs ‘ruby:Ruby’ ‘python:Pytho原创 2021-06-11 09:40:18 · 334 阅读 · 2 评论 -
prim
` /** 最小生成树 prim算法 */ function newGraph(){ let g = { vertexs:[],//顶点集合 edges:[]//,//边的集合。使用邻接矩阵,是一个二维数组。 //edgesNum:0//边的条数 }; g.vertexs = [‘A’,’B’,’C’,’...原创 2018-06-27 08:45:41 · 753 阅读 · 0 评论 -
短网址生成-nodejs实现
解决的问题:发现mybatis的垃圾sql,dao层的垃圾接口。java代码import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.lang.reflect.Method;import java.time.Dur...原创 2018-08-05 13:41:25 · 3844 阅读 · 0 评论 -
O(1) 时间插入、删除和获取随机元素 - 允许重复
/***https://leetcode-cn.com/problems/insert-delete-getrandom-o1-duplicates-allowed/description/设计一个支持在平均 时间复杂度 O(1) 下, 执行以下操作的数据结构。注意: 允许出现重复元素。insert(val):向集合中插入元素 val。remove(val):当 val 存在时,从...原创 2018-08-10 12:14:02 · 918 阅读 · 0 评论 -
八皇后-回溯算法
回溯算法就是穷举法的一种优化。 在对解空间树进行深度优先遍历时,检查条件是否满足,从而舍弃掉很多情况。let n = 8;let cols = [];//第i行放在第cols[i]列。//尝试放置第row行function tryRow(row){ //尝试对每一列进行放置 for(let col=0;col<n;col++){ //判断在第row行第co...原创 2018-08-15 19:30:07 · 200 阅读 · 0 评论 -
求l的k乘积-回溯算法
let num = '6345214';let K = 4;let res = [];let max = 0;function backtrace(k){ let c = consumed(k); if(k==K){ if(c.length==num.length){ console.info(res); le...原创 2018-08-16 19:54:24 · 742 阅读 · 0 评论 -
leetcode-3. 无重复字符的最长子串
/*https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/description/*/var lengthOfLongestSubstring = function(s) { let dict = {}; let begin = 0; let max = 0;...原创 2018-08-25 10:12:02 · 129 阅读 · 0 评论 -
leetcode-4. 两个排序数组的中位数
https://leetcode-cn.com/problems/median-of-two-sorted-arrays/description//** * @param {number[]} nums1 * @param {number[]} nums2 * @return {number} */var findMedianSortedArrays = function(num...原创 2018-08-25 12:48:58 · 140 阅读 · 0 评论 -
leetcode-7. 反转整数
/** * @param {number} x * @return {number} */var reverse = function(x) { let r = 0; let res = []; while(x!=0){ r = x%10; //res = res*10+r; res.push(r); ...原创 2018-08-25 18:16:25 · 146 阅读 · 0 评论 -
leetcode-6. Z字形变换
/** * @param {string} s * @param {number} numRows * @return {string} */var convert = function(s, numRows) { if(numRows==1){ return s; } let chs = [...s]; let res = []; ...原创 2018-09-15 17:53:23 · 153 阅读 · 0 评论 -
leetcode-8. 字符串转整数 (atoi)
/** * @param {string} str * @return {number} */var myAtoi = function(str) { let max = Math.pow(2,31)-1; let min = -max-1; let reg = /^\s*([-+]?\d+).*$/igm; let arr = reg.exec(str);...原创 2018-09-19 12:37:03 · 237 阅读 · 0 评论 -
leetcode-5.最长回文子串
/** * @param {string} s * @return {string} */var longestPalindrome = function(s) { let chs = [...s]; let res = []; for(let i=0;i<chs.length;i++){ let s1 = f1(chs,i); ...原创 2018-09-15 16:03:00 · 128 阅读 · 0 评论 -
用js实现鸟语
const map = { '~':'~', '[':'#', ']':'$', '!':'!', '<':'&', '|':'*', '>':'@'}const rMap = {}for(let k in map){ rMap[map[k]]=k}//待转换文本let s = '你好啊'function transform(text){ c...原创 2019-02-16 12:46:00 · 347 阅读 · 0 评论 -
javascript高级培训
华苏javascript培训@author:zhoujiaping @date:2017-08-01一 目的使开发人员对javascript语言有较深入的理解,提升开发人员的js功底,在以后的项目中更准确、高效的使用js,编写出高质量的js程序。二 解释型动态类型弱类型多范式语言2.1语言按各种方法可以分为各种类型,按编译执行过程,可以分为编译型语言和解释型语言。...原创 2018-03-15 10:20:19 · 3732 阅读 · 0 评论 -
霍夫曼编码
const {newHeap} = require('./heap');/** * 赫夫曼树 * 这个学信息论的时候学过 * 可以用来实现文件压缩 * http://www.cnblogs.com/huangxincheng/archive/2012/12/09/2809993.html * * 为什么用最小堆而不用其他方式排序?因为我们只需要最小的两个元素,其他元素之间的顺序并不...原创 2018-05-27 23:36:07 · 249 阅读 · 0 评论 -
AC自动机-附带算法推导
/** *http://www.cnblogs.com/huangxincheng/archive/2012/12/02/2798317.html *https://blog.csdn.net/creatorx/article/details/71100840 */const aCode = 'a'.charCodeAt(0);function trans(node){ if(n...原创 2018-05-16 18:29:24 · 215 阅读 · 0 评论 -
字符串相似度(编辑距离)
/** * 字符串相似度(编辑距离),比如用在DNA对比。 * http://www.cnblogs.com/huangxincheng/archive/2012/11/11/2765633.html * */const {cache,time} = require('./aop');function minEdit(seqA,seqB){ let lenA = seqA.l...原创 2018-05-11 09:14:23 · 663 阅读 · 0 评论 -
协同推荐SlopeOne 算法
/**协同推荐SlopeOne 算法http://www.cnblogs.com/huangxincheng/archive/2012/11/22/2782647.htmlRb = (n*(Ra-Rab)+m*(Rc-Rcb))/(m+n)a,b,c代表商品Ra代表商品的打分值Rab代表A组到B组的平均差(均值化)m,n代表人数@Param productsScores = [...原创 2018-05-11 19:21:39 · 566 阅读 · 0 评论 -
在eclipse中配置js语法检查支持es6语法
在eclipse中配置js语法检查支持es6语法。 找到项目下的文件.jshintrc,编辑esnext为true。原创 2018-05-11 19:22:19 · 11527 阅读 · 8 评论 -
nodejs日志winston
//npm install winston//npm install uuidconst uuid = require('uuid');const winston = require('winston');const { createLogger, format, transports } = require('winston');const { combine, timestamp,...原创 2018-05-11 19:24:45 · 1628 阅读 · 3 评论 -
nodejs实现最大堆
nodejs实现最大堆/** * 最大堆 * 一般采用数组实现,否则计算节点太复杂,因为树并不是完全有序的。 * 为了计算方便,第一个元素不用。 * https://baike.baidu.com/item/%E5%AE%8C%E5%85%A8%E4%BA%8C%E5%8F%89%E6%A0%91/7773232?fr=aladdin * https://blog.csdn.net/...原创 2018-05-12 00:45:09 · 788 阅读 · 1 评论 -
双端队列
/** * 双端队列 */function newDeque(){ let arr = []; return { isEmpty(){ return arr.length===0; }, size(){ return arr.length; }, g...原创 2018-05-18 18:04:38 · 256 阅读 · 0 评论 -
nodejs调试
windows64 启动应用时使用 node –inspect=9222 app.js 结果 Debugger listening on ws://127.0.0.1:5858/38d44c75-a47f-4bf8-b17e-92a97f23f992 For help see https://nodejs.org/en/docs/inspector 然后在chrome浏览器地址栏输入 ...原创 2018-05-06 17:19:56 · 403 阅读 · 0 评论 -
trie树
/** * trie树(字典树,前缀树,键树) https://blog.csdn.net/hyman_yx/article/details/54410619 https://blog.csdn.net/jiutianhe/article/details/8076835 朴素trie树,字符集a-z 这种结构,空间复杂度真的恐怖。一般不直接使用,而是使用其优化版本double array...原创 2018-05-19 17:29:48 · 120 阅读 · 0 评论 -
nodejs发送邮件
const nodemailer = require('nodemailer');const user = '421211679@qq.com', pass = 'xxxxxxx';//这个到qq邮箱设置里面去弄const smtpTransport = nodemailer.createTransport({ service:'QQ', auth:{ ...原创 2018-05-19 17:32:58 · 596 阅读 · 0 评论 -
kmp算法实现(nodejs版)
/** *kmp算法实现(nodejs版) */function calcNext(word){ let k = -1; let j = 0; let next = []; next[0] = -1; while(j&lt;word.length-1){ if(k==-1 || word[k]==word[j]){ ...原创 2018-05-19 17:59:58 · 245 阅读 · 0 评论 -
树状数组(快速求数组的前n项和)
lowbit.js/**lowbit(x)是x的二进制表达式中最低位的1所对应的值。x=x(n)x(n-1)x(n-2)...x(m)...x2x1共n位假设x(m)位为1,小于m的位全为0。那么其反码为y(n)y(n-1)...y(m)...y2y1,y(k)和x(k)互补则y(m)为0,小于m的位全为1。所以其补码为y(n)y(n-1)...1...00 y(m)变成了...原创 2018-05-15 18:29:56 · 709 阅读 · 0 评论 -
nodejs实现线段树
/** * 线段树 * http://www.cnblogs.com/huangxincheng/archive/2012/12/08/2808207.html *//** * 根据数组,以及数组的下标范围创建节点。 */let newNode = function(array,left,right){ if(left == right){ /*left,ri...原创 2018-05-26 01:10:53 · 285 阅读 · 0 评论 -
nodejs实现bitmap/bitset
代码在github上面有最新版 https://github.com/zhoujiaping/doc/blob/master/nodenode/algol/bitset.js/** * Bitmap算法(java中叫BitSet,作为javascript,还是跟着java老大哥叫bitset吧) * http://www.cnblogs.com/huangxincheng/archive...原创 2018-05-15 22:26:53 · 2282 阅读 · 2 评论 -
动态规划算法-最长公共子序列的问题(附带函数缓存实现)
subseq.jsconst {cache,time} = require('./aop');/** * 最长公共子序列的问题 * http://www.cnblogs.com/huangxincheng/archive/2012/11/11/2764625.html * */function mcs(seqA,seqB){ let lenA = seqA.length;...原创 2018-05-10 12:34:43 · 207 阅读 · 0 评论