CassielLee
每天一道leetcode(Day 19) 每天一道leetcode(Day 19)
56. 合并区间题目描述给出一个区间的集合,请合并所有重叠的区间。 示例 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [
2020-04-16
每天一道leetcode(Day 18) 每天一道leetcode(Day 18)
542.01 矩阵题目描述给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。 示例 示例 1 输入: 0 0 0 0 1 0 0 0 0 输出: 0 0 0 0 1 0 0 0 0 示例 2 输入: 0 0
2020-04-15
每天一道leetcode(Day 17) 每天一道leetcode(Day 17)
6. Z 字形变换题目描述将一个给定字符串根据给定的行数,以从上往下、从左到右进行  Z 字形排列。 比如输入字符串为 “LEETCODEISHIRING”  行数为 3 时,排列如下: L C I R E T O E
2020-04-14
每天一道leetcode(Day 16) 每天一道leetcode(Day 16)
22. 括号生成题目描述数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例输入:n = 3 输出:[ "((()))", "(()())", "((
2020-04-13
每天一道leetcode(Day 15) 每天一道leetcode(Day 15)
355. 设计推特题目描述设计一个简化版的推特(Twitter),可以让用户实现发送推文,关注/取消关注其他用户,能够看见关注人(包括自己)的最近十条推文。你的设计需要支持以下的几个功能: postTweet(userId, tweetI
2020-04-12
每天一道leetcode(Day 14) 每天一道leetcode(Day 14)
151. 翻转字符串里的单词题目描述给定一个字符串,逐个翻转字符串中的每个单词。 示例 示例 1: 输入: "the sky is blue" 输出: "blue is sky the" 示例 2: 输入: "  
2020-04-11
每天一道leetcode(Day 13) 每天一道leetcode(Day 13)
887. 鸡蛋掉落题目描述你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑。 每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。 你知道存在楼层 F ,满足 0 <= F <= N 任何从高于
2020-04-10
JS手写代码之寄生组合继承和ES6继承 JS手写代码之寄生组合继承和ES6继承
寄生组合继承和 ES6 继承ES5 的继承,实质是先创造子类的实例对象,然后将再将父类的方法添加到 this 上。 ES6 的继承,先创造父类的实例对象(所以必须先调用 super 方法,然后再用子类的构造函数修改 this 寄生组合继承f
2020-04-10
JS手写代码之柯里化和发布订阅EventEmitter JS手写代码之柯里化和发布订阅EventEmitter
实现柯里化原理是利用闭包把传入参数保存起来,当传入参数的数量足够执行函数时,就开始执行函数。 const curry = (fn) => (_curry = (...args) => // args.length 获
2020-04-10
大厂面试练习题-数组去重 大厂面试练习题-数组去重
题目:数组去重实现普通的数组去重// 利用set数据结构 const uniqBy = (arr) => { return [...new Set(arr)]; }; // 同理,字符串去重 const uniqBy = (str
JS手写函数防抖与函数节流 JS手写函数防抖与函数节流
JS 手写函数防抖与函数节流函数防抖概念函数防抖是在事件被触发 n 秒后再执行回调,如果在 n 秒内又被触发,则重新计时。 函数防抖多用于 input 输入框。 实现过程: 箭头函数的 this 继承自父级上下文,这里指向触发事件的目标元
2020-04-10
大厂面试题练习-斐波拉契数列 大厂面试题练习-斐波拉契数列
题目:斐波拉契数列示例// 斐波那契数列为:[1,1,2,3,5,8,13,21,…] 输入:1 输出:1 输入:4 输出:5 答案方法一利用递归(容易栈溢出) function fibonacci(count) { if (co
6 / 10