franki Blog

make a small progress every day

leetcode 232题

leetcode 232题 用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列的支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boolean empty() 如果队列为空,返回...

leetcode 394题

leetcode 394题 字符串解码 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。 此外,你可以认为原始数据不包含数字,所有的数字只表示重...

leetcode 1381题

leetcode 1381题 设计一个支持增量操作的栈 请你设计一个支持下述操作的栈。 实现自定义栈类 CustomStack : CustomStack(int maxSize):用 maxSize 初始化对象,maxSize 是栈中最多能容纳的元素数量,栈在增长到 maxSize 之后则不支持 push 操作。 void push(int x):如果栈还未增长到 maxSize ,...

leetcode 821题

leetcode 821题 字符的最短距离 给定一个字符串 S 和一个字符 C。返回一个代表字符串 S 中每个字符到字符串 S 中的字符 C 的最短距离的数组。 示例 1 输入: S = “loveleetcode”, C = ‘e’ 输出: [3, 2, 1, 0, 1, 0, 0, 1, 2, 2, 1, 0] 说明: 字符串 S 的长度范围为 [1, 10000]。 C 是一个...

leetcode 268题

leetcode 268题 缺失数字 给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。 进阶: 你能否实现线性时间复杂度、仅使用额外常数空间的算法解决此问题? 示例 1 输入:nums = [3,0,1] 输出:2 解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数...

leetcode 66题

leetcode 66题 加一 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。 示例 2 输入: [4,3,2,1] 输出: [4,3,2,2] 解释...

leetcode 数组

数组 数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 首先,数组会利用 索引 来记录每个元素在数组中的位置,且在大多数编程语言中,索引是从 0 算起的。我们可以根据数组中的索引,快速访问数组中的元素。事实上,这里的索引其实就是内存地址。 其次,作为线性表的实现方式之一,数组中的元素在内存中是 连续 存储的,且每个元素占用相同大小的内存。 ...

5月-10月复盘

好久不见 long long ago! 距离上次更新博客,已经是5月份的事情了,事出有因,下面总结这段时间的一些行动、感悟。 5月15号,从 mk 辞职,5月18号,来到 sf,做出这个决定的时候,的确有点困难! 从 mk 离职 在 mk,有很多很棒的小伙伴,经常一起开玩笑、一起讨论问题,还有时不时的下午4点半(当然不是很经常啦!)。但是天下没有不散的宴席,人各有志,自己也经...

从零到一实现一个简易版的webpack

webpack 在 webpack 出来之前,让我们来看看前端打包构建的黑历史(不堪回首的年代)。 其实前端一开始并不存在打包构建的这种“玩意”的,js 一开始也是被人忽视的,简单的认为只是用来写写页面动效,仅此而已!那时候甚至连 ajax 都不用,直接写点代码,直接用 script 标签引入。人们通常“乐此不疲”。 直到 ajax 的广泛引用,才使得 js 变得越来越重要,前...

实现一个babel插件

进入es6时代,大家都知道有很多浏览器是不支持es6代码的,但是为啥可以打包出来的代码可以跑在浏览器上呢?相信大家有会说用babel-loader转义,把es6代码转化成浏览器认识的es5代码,可是大家都知道babel是如何转化es6代码的吗?里面究竟发生了什么不可告人的秘密,今天就好好探索下。 开宗明义,先来讲下babel的核心原理: Babel 解析成 AST,然后插件更改 A...