自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 奇怪的知识又增加了 ☞ 用css画一个爱心(clip-path)

clip-path是啥clip-path CSS 属性使用裁剪方式创建元素的可显示区域。区域内的部分显示,区域外的隐藏。示例 clip-path:polygon(25% 0, 50% 20%, 75% 0, 100% 20%, 100% 60%, 50% 95%, 0 60%, 0 20%) background: pink; width: 200px; height 200px 语法/* Keyword values */clip-path: none;/*

2020-08-02 15:05:20 12

原创 《算法导论》@读书笔记@ 字符串匹配算法 并:各个算法javascript实现

概念在a字符串中匹配b字符串所在的位置各个算法对比朴素算法如上图所示 思路就是 滑动窗口 把str2当作一个滑板从左向右滑动js版本代码/** * @param {string} haystack * @param {string} needle * @return {number} */var strStr = function(haystack, needle) { if (needle === '') return 0; let l = haystack.l

2020-07-09 23:31:35 46

原创 leetcode题解 外观数列 replace高级用法

看到的 别人写的解法 很优秀代码 let s = '1' for(let i = 1; i < n; i++){ s = s.replace(/(\d)\1*/g, item =>`${item.length}${item[0]}`) } return s思路replace 第二个参数为函数 返回一个替代的值利用正则匹配 连续相同的数字 然后替换 —> 优秀!!...

2020-06-25 18:16:06 27

原创 奇怪的知识又增加了 ☞ 用css画一个饼图(conic-gradient)

conic-gradient 是啥以下是mdn原文The conic-gradient() CSS function creates an image consisting of a gradient with color transitions rotated around a center point (rather than radiating from the center). Example conic gradients include pie charts and color wheel

2020-06-23 12:53:00 133

原创 leetcode题解 -实现strStr()

代码/** * @param {string} haystack * @param {string} needle * @return {number} */var strStr = function(haystack, needle) { if (needle === '') return 0; let l = haystack.length; let n = needle.length; for (let i = 0; i < l - n + 1; i+

2020-06-21 22:11:53 26

原创 《从零到一》彼得蒂尔 读书笔记(更新ing)

从0到1 与 从1到n的区别从0到1从1到n创新复制质变量变垂直水平蓝海红海垄断竞争唯一第一非零和零和厚利薄利

2020-06-21 22:01:32 49

原创 趣味图解-命令模式

概念命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。???? 以下纯属个人理解???????? 将函数的封装 请求 调用结合为一体图解????实例微信小程序中的微信对象 可以理解为一个命令模式...

2020-06-21 17:06:45 45

原创 leetcode-字符串转换整数 (atoi) :) 传说中的状态机

代码/** * @param {string} str * @return {number} */var myAtoi = function(str) { let map = [ [0,1,2,3], [3,3,2,3], [3,3,2,3], ] let reg =/[0-9]/ let r=''; let state = 0; for(let i=0,l=str.length;i<l;i++)

2020-06-10 22:09:20 48

原创 leetcode题解-顺时针打印矩阵

思路判断是否是空数组顺时针打印数组 可以按照字面意思 从外向里进行圈层遍历 。判断圈数可以遍历的圈数是根据短边来判断的这里有三种情况圈数为偶数的情况圈数为奇数的情况 且长>=宽圈数为奇数的情况 且长<宽当为偶数时 直接按照下面第一张图 将一圈分为四个部分 依次从顶点遍历即可当为奇数时 会产生行/列的冗余 最后只需要把冗余部分 依次push进数组就可以了代码var spiralOrder = function(matrix) { if (matrix.l

2020-06-06 14:43:31 44

原创 leetcode题解-字符串中的第一个唯一字符 & 有效的字母异位词 & 验证回文字符串

文章目录字符串中的第一个唯一字符代码思路有效的字母异位词代码思路验证回文字符串代码思路字符串中的第一个唯一字符代码var firstUniqChar = function(s) { let map = {}; let t = []; for(let i=0,l=s.length;i<l;i++){ if(map[s[i]]===undefined){ map[s[i]] =t.length; t.push(i);

2020-06-02 21:59:39 39

原创 leetcode题解-旋转图像(详细)

代码var rotate = function(matrix) { let l = matrix.length; for(let i=0;i<parseInt((l+1)/2);i++){ for(let j =0;j<parseInt(l/2);j++){ let temp = matrix[l - 1 - j][i]; matrix[l - 1 - j][i] = matrix[l - 1 - i][l - 1 - j]; matrix[l - 1 - i][l

2020-05-31 19:46:38 71

原创 leetcode题解-有效的数独

文章目录代码思路代码/** * @param {character[][]} board * @return {boolean} */var isValidSudoku = function(board) { let row=[{},{},{},{},{},{},{},{},{}]; let column=[{},{},{},{},{},{},{},{},{}]; let box = [{},{},{},{},{},{},{},{},{}]; for(let i=

2020-05-27 22:51:11 29

原创 leetcode题解JavaScript-两数之和

代码/** * @param {number[]} nums * @param {number} target * @return {number[]} */var twoSum = function(nums, target) { let map = {}; for(let i = 0,l=nums.length;i<l;i++){ if(map[target-nums[i]]!==undefined){ return[map[ta

2020-05-24 13:05:58 46

原创 leetcode题解-移动零

代码/** * @param {number[]} nums * @return {void} Do not return anything, modify nums in-place instead. */var moveZeroes = function(nums) { let n = 0; for(let i=0,l=nums.length-1;i<l;i++){ if(nums[i]==0){ nums.splice(i,1);

2020-05-23 23:00:38 38

原创 Deno尝鲜(2)-创建一个http服务器

serve源码/** * Create a HTTP server ------>创建一个http服务器 * * import { serve } from "https://deno.land/std/http/server.ts"; * const body = "Hello World\n"; * const s = serve({ port: 8000 }); * for await (const req of s) { * req.

2020-05-23 16:05:51 100

原创 leetcode题解-两个数组的交集 II

复杂度 O(2n)利用map的key可以是数字 把第一个数组放进map中如果不存在key 那么value =1 存在value+1第二数组去查找映射 如果存在 key对应 则为交集 相对应的value-1或者变为undefined/** * @param {number[]} nums1 * @param {number[]} nums2 * @return {number[]} */var intersect = function(nums1, nums2) { let map

2020-05-21 21:21:36 36

原创 Deno尝鲜(1) - 安装

Deno简介图标是一只可爱的小恐龙Deno是一个简单、现代且安全的使用v8来提供环境给JavaScript和TypeScript运行。是用rust写的。windows下安装先安装包管理器 ChocolateySet-ExecutionPolicy -ExecutionPolicy RemoteSigned --Scope Usercurrent, 设置powershell允许执行远程签名的脚本iwr https://chocolatey.org/install.ps1 -UseBasicPa

2020-05-19 21:08:46 82

原创 leetcode题解-加1

简单的方法 处理非常大的整数 会出错 所以换了一个方式采用递归从最后一位—+1开始判断 如下图所示var plusOne = function(digits) { let l = digits.length - 1; plus(digits,l); return digits};function plus(digits,n){ if(digits[n]+1>=10){ digits[n] = digits[n]-9; if(n==0

2020-05-18 22:15:08 42

原创 javascript 保留小数点后xx位 2种快捷方法

//保留两位parseInt(num*100)/100//保留三位parseInt(num*1000)/1000//以此类推

2020-05-18 11:26:45 40

原创 阿里云 ubantu Apache 2 部署ssl证书

白嫖&下载证书ssl证书可以在阿里云选择购买 dv然后最后一个有个免费的证书控制台安全规则开启443端口 22端口安装opensslsudo apt-get install opensslsudo apt-get install libssl-dev复制证书到服务器上mkdir /etc/apache2/sslcp -r YourDomainName_public.crt...

2020-05-06 22:12:26 76

原创 《算法导论》@读书笔记@ 二叉搜索树

概览什么是二叉搜索树查询什么是二叉搜索树归纳:具有如下特点的二叉树若左子树不空,则左子树上所有结点的值均小于它的根结点的值若右子树不空,则右子树上所有结点的值均大于它的根结点的值左右树的子树也符合上述两条可以通过一个简单的递归算法来按序输出二叉树中的所有关键字//假设x为节点function print(x){ if(x!=null){ print(x.left) ...

2020-05-06 21:45:05 49

原创 简单的封装微信小程序canvas库,可以像写css一样绘制canvas

文章目录介绍引入绘制一个矩形绘制一个圆形绘制图片绘制文字简单的动画保存图片到相册APIbox元素 cav.box(options)image元素 cav.image(options)text元素 cav.text(options)cav.ins()cav.draw(save)cav.saveImage()可能会更新:)介绍简单封装的微信小程序canvas库,可以像写css一样绘制canvas....

2020-05-05 10:48:33 400

原创 代理模式

文章目录概念举例概念为其他对象提供一种代理以控制对这个对象的访问举例vue中通过代理 解决跨域问题vue3 中使用 proxy解决 劫持监听data(vue2.x中使用object.defineproperty)远程代理虚拟代理安全代理智能引用(垃圾回收机制)...

2020-05-03 13:38:47 20

原创 外观模式

文章目录概念举例概念为子系统中的一组接口缇欧拱了一个一致的页面,此模块定义了一个高级接口,这个接口使得这一子系统更加容易使用。简化了类中的接口对接口与调用者解耦举例canvas实例可以理解为一个封装好的外观类使用外观类暴露的接口去画图canvas.fillRect()canvas.fillText()...

2020-04-29 21:42:55 35

原创 leetcode题解 javascript版本 - 买卖股票的最佳时机 II

如上图所示 A+B>=C (D不存在的情况下A+B=C)只要找到所有 后面比前面高的点 就可以了(动态规划…?)var maxProfit = function (prices) { let profit = 0; for (let i = 1; i < prices.length; i++) { if(prices[i]>prices[i-...

2020-04-28 22:05:38 26

原创 ios真机执行innerAudioContext.play()无声音

解决方案在需要用的页面onLoad中添加下面的代码wx.setInnerAudioOption({ mixWithOther: true, obeyMuteSwitch: false,});

2020-04-25 10:50:19 196

原创 截取指定字节位数的字符串方法

/** * 截取指定字节位置的字符串 * @param {String} value - 输入字符串 * @param {Number} start - 开始位置 * @param {Number} end - 结束位置 */const sliceByByte = function(value,start,end){ let bytes = 0; let result...

2020-04-16 20:52:13 47

原创 冒泡、选择、插入排序 javascript版本

冒泡排序 javascript版代码var array=[];var int=0;for(var i=0;i<1000;i++){ int = Math.ceil(Math.random()*1000); array.push(int);}console.log(array)/** * 冒泡法排序 Ver 1.0 * @param arr {number[...

2020-03-31 11:02:57 14

转载 JavaScript 与函数式编程

JavaScript 与函数式编程原文 https://bethallchurch.github.io翻译原文 https://www.zcfy.cc/article/1013 众成翻译长久以来,面向对象在 JavaScript 编程范式中占据着主导地位。不过,最近人们对函数式编程的兴趣正在增长。函数式编程是一种编程风格,它强调将程序状态变化(即副作用[side effect])的次...

2020-03-12 13:23:43 14

原创 堆排序 javascript版

堆排序 javascript版算法思路参考《算法导论》代码/** * 时间复杂度 平均:O(nlog2n)。 * 空间复杂度:O(1)。 * 稳定性:不稳定 */var array = [];var int = 0;for (var i = 0; i < 9; i++) { int = Math.ceil(Math.random() * 10); array.pu...

2020-02-25 22:14:10 23

原创 Node学习笔记(1)-文件操作

Node学习笔记(1)-文件操作术语解释双工流可读可写的流监听一个文件chalk是给终端输出染色的插件const fs = require('fs');var chalk = require('chalk');var num=0;fs.watch('target.txt',()=>{ num++; console.log("file ...

2020-02-25 21:47:55 57

原创 javascript数组遍历的方式及其区别

for循环使用示例let array = ['item1','item2'];let len = array.length;for(let i=0;i<len;i++){ console.log(array[i],i) //1 ,2,3,4}适用场景:非常灵活的一种方式,可以不必要遍历整个数组,可以根具需求随意跳出循环,但写法较为繁琐。foreach描述for...

2020-02-10 11:35:38 25

原创 从0到1系列之 打造自己的工具库(类似于lodash)并发布到npm

0202年了,我们需要尝试打造自己的工具链路 来更????偷懒????的开发????最终示例@magic-zhu/helper这个是我们自己发布到npm的demo包然后在项目中使用npm install @magic-zhu/helperconst helper = require ('@magic-zhu/helper')let {typeOf} = helperconsole.log(type...

2020-02-10 10:09:38 178

提示
确定要删除当前文章?
取消 删除