3 AC_greener

尚未进行身份认证

web Developer github:https://github.com/AC-greener

等级
TA的排名 2w+

【JavaScript】前端必会的代码整理(包含leetcode题解)

更多leetcode题解在我的github上面:点击这里后面还会持续进行更新~常用数据结构和算法这些代码都在leetcode上AC了题目二分查找const binarySearch = function (nums, target) { if(nums === null || nums.length === 0) { return -1 } let left = 0,...

2019-04-19 13:41:42

【leetcode101】 JavaScript-对称二叉树

/** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } *//** * @param {TreeNode} root * @return {boolean} */var i...

2019-04-15 18:07:43

【leetcode-102】JavaScript版本 二叉树层虚遍历

/** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } *//** * @param {TreeNode} root * @return {number[][]} */va...

2019-04-15 14:09:07

【leetcode733】JavaScript-图像渲染

var floodFill = function(image, sr, sc, newColor) { let Len1 = image.length, Len2 = image[0].length let dir = [[1, 0], [-1, 0], [0, 1], [0, -1]] let visited = [] let color = image[sr][sc] ...

2019-04-15 11:25:29

【JavaScript】设计模式-单例模式

let Single = (function() { let _instance = null function init(props) { return { publickMethod: function(){ }, value: props.value } } return function(props) { if(...

2019-04-09 21:24:57

【JavaScript】设计模式-发布订阅模式

var Observer = (function() { var _message = {} return { //将订阅者注册的消息推到消息队列中,接收的参数时消息的类型和如何处理消息 regist(type, fn) { if(typeof _message[type] === 'undefined') { _message[type] = ...

2019-04-09 20:58:39

【DNS】DNS解析过程浅谈

DNS,域名服务,负责吧域名解析成IP。理论上讲一个全世界使用一个域名服务器就够了,但为了防止服务器过载,或者服务器出现故障,导致整个网络瘫痪。DNS被设计成一个分布式的数据库系统,即使单个计算机除了故障,也不会妨碍DNS系统的正常运行。在DNS请求报文中,为了减少开销和加快速度,使用的是UDP用户数据报方式域名服务器是一个树状的层次结构1,根域名服务器,根域名服务器知道所有顶级域名服务...

2019-04-09 16:51:56

【leetcode 41】JavaScript版-缺失的第一个正数

var firstMissingPositive = function (nums) { nums = selectSort(nums.filter(item => item >= 0)) //吧小于零的数过滤掉,并排序 if (!nums.length) return 1 for (let i = 0; i < nums.length; i++) { if ...

2019-04-09 11:28:30

【leetcode922】JavaScript版 按奇偶排序数组 II

var sortArrayByParityII = function (arr) { arr = quickSort(arr, 0, arr.length-1) let result = [], m = 0, n = 1 for(var i = 0; i < arr.length; i++) { if(arr[i] % 2 === 0) { //偶数 res...

2019-04-09 10:28:43

【leetcode215】JavaScript版 数组中的第K个最大元素

var findKthLargest = function(nums, k) { nums = quickSort(nums, 0, nums.length-1) console.log(nums[k-1]) return nums[k-1]};function quickSort(arr, left, right) { let index index = pa...

2019-04-09 10:26:25

【JavaScript】封装一个jsonp函数

function jsonp({url, params, callback}) { return new Promise ((resolve, reject) => { let script = document.createElement ('script'); window[callback] = function (data) { //声明这个全局函数,scrip...

2019-04-04 11:12:47

【JavaScript】leetcode89,格林编码

思路:利用格林编码的对称性/** * @param {number} n * @return {number[]} */var grayCode = function(n) { function getCode(n) { if(n === 0) { return ['0'] } if(n === 1) { return ['0', ...

2019-03-29 11:49:08

【JavaScript】leetcode605,种花问题

var canPlaceFlowers = function(flowerbed, n) { var count = 0 for(var i = 0; i < flowerbed.length; i++) { if(flowerbed[i-1] !== 1 && flowerbed[i] === 0 && flowerbed[i+1] !== ...

2019-03-29 10:29:37

【react】react单元测试初探,小白的采坑之路

第一次在react中使用单元测试,没想到遇到这么多坑我使用create-react-app创建的react项目,单元测试工具Jest已经集成在项目中了,所以直接运行:npm run test就可以运行测试样例第一个坑:找不到测试样例,命令行提示如下图:项目结构如下:经过一番google,发现react项目的测试文件夹必须放在src下面,且测试的文件名必须是:下划线下划线tes...

2019-03-26 20:20:36

【leetcode】电话号码组合(JavaScript版)

function fn(digits) { let hash = { 2: 'abc', 3: 'def', 4: 'ghi', 5: 'jkl', 6: 'mno', 7: 'pqrs', 8: 'tuv', 9: 'wxyz', } let a = [] digits.split('').forEach(item ...

2019-03-26 14:45:33

【JavaScript】浏览器的缓存策略:强缓存和协商缓存

通常浏览器缓存策略分为两种:强缓存和协商缓存,并且缓存策略都是通过设置 HTTP Header 来实现的。强缓存(如果命中就不会去请求服务器,返回状态码200)如何设置强缓存?1,设置http头:Cache-Control,以客户端相对时间为准Cache-Control:max-age=3600(单位是秒)。2,expires(http1.0产物)会将资源的实效日期告知客户端。Exp...

2019-03-24 10:52:19

【http】简述TCP三次握手和四次挥手

三次握手是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。可以想象两人用对讲机交谈。A:我准备好了你准备好了吗,收到请回答。B:收到收到,我也准备好了,收到请回答。A:收到收到四步挥手客户端:“兄弟,我这边没数据要传了,咱关闭连接吧。”服务端:“收到,我看看我这边有木有数据了。”服务端:“兄弟,我这边也没数据要传你了,咱可以关闭连接了。”客户端:“好嘞。...

2019-03-24 10:25:19

【计算机网络】tcp udp的特点和区别

UDP协议面向无连接UDP 是不需要和 TCP 一样在发送数据前进行三次握手建立连接的UDP的不可靠性UDP 因为没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件不好,也不会对发送速率进行调整。这样实现的弊端就是在网络条件不好的情况下可能会导致丢包但是优点也很明显,在某些实时性要求高的场景(比如电话会议,直播)就需要使用 UDP 而不是 TCP。TCP 面向连接,只有确认通信端存在...

2019-03-24 10:21:07

【JavaScript】给定一个字符串,请统计字符串中出现最多的字母和次数

//给定一个字符串,请统计字符串中出现最多的字母和次数function fn(str) { var hash = {} for(let i = 0; i < str.length; i++) { if(hash[str[i]]) { hash[str[i]]++ } else { hash[str[i]] = 1 } } le...

2019-03-20 20:23:34

【JavaScript】 异步的终极方案async,await

看一个最简单例子:function x() { return new Promise((resolve, reject) => { setTimeout(() => { resolve('hello js') }, 3000) })}async function test() { let n = await x() console.lo...

2019-03-11 17:02:45

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。