自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Eighteen Z

好学力行,明德任责。

  • 博客(220)
  • 资源 (9)
  • 收藏
  • 关注

原创 JavaScript:leetcode_236. 二叉树的最近公共祖先(1. 层序遍历 + 二叉树任意遍历方法 2. 二叉树遍历 + 动态规划)

题目说明给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出: 3解释

2020-05-10 17:34:31 310

原创 JavaScript:leetcode_69. x 的平方根

题目说明实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。解题思路一求平方根,一种是利用我们Math.sqrt()直接求,这种就不说了。然后说我们手动求的方式,最简单的方式,就是for循环遍历从1到x,求出x/

2020-05-09 23:10:31 204

原创 JavaScript:leetcode_72. 编辑距离(动态规划,vue,react的类似diff算法)

题目说明给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符 示例 1:输入:word1 = "horse", word2 = "ros"输出:3解释:horse -> rorse (将 'h' 替换为 'r')rorse ->...

2020-05-08 11:21:32 300

原创 JavaScript:leetcode_572. 另一个树的子树(广度遍历+深度遍历)

题目说明给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例 1:给定的树 s: 3 / \ 4 5 / \ 1 2给定的树 t: 4 / \ 1 2返回 true,因为 t 与 s 的一个子树拥有...

2020-05-07 14:11:21 187

原创 Vue 2.x 和 3.0 实现双向绑定的原理(Object.defineProperty 以及 Proxy)

说明vue实现双向绑定原理,主要是利用Object.defineProperty 来给实例data的属性添加 setter和getter.并通过发布订阅模式(一对多的依赖关系,当状态发生改变,它的所有依赖都将被通知)来实现响应。这个环节中包含了三个部分Observer 用来监听拦截data的属性为监察者。Dep用来添加订阅者,为订阅器Watcher 就是订阅者监察者通...

2020-05-07 09:36:02 293

原创 JavaScript:leetcode_983. 最低票价(动态规划)

题目说明在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 365 的整数。火车票有三种不同的销售方式:一张为期一天的通行证售价为 costs[0] 美元;一张为期七天的通行证售价为 costs[1] 美元;一张为期三十天的通行证售价为 costs[2] 美元。通行证允许数天无限制...

2020-05-06 11:51:54 227

原创 JavaScript:leetcode_98. 验证二叉搜索树(递归)

题目说明给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ 3 ...

2020-05-05 13:03:23 336

原创 JavaScript:leetcode_45. 跳跃游戏 II(贪心算法)

题目说明给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以到...

2020-05-04 11:58:52 273

原创 JavaScript:leetcode_53. 最大子序和(贪心,分治)

题目说明将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路一其实就是归并排序的最后一步。合成两个有序序列。只不过用递归的方式去遍历链表。递归,把min(t1,t2),加入新链。若t1小,...

2020-05-03 13:49:11 168

原创 JavaScript:leetcode_3. 无重复字符的最长子串(滑动窗口)

题目说明给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长...

2020-05-02 11:56:35 473

原创 JavaScript:leetcode_21. 合并两个有序链表(递归归并)

题目说明将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路一其实就是归并排序的最后一步。合成两个有序序列。只不过用递归的方式去遍历链表。递归,把min(t1,t2),加入新链。若t1小,...

2020-05-01 15:09:18 272

原创 JavaScript:617. 合并二叉树(递归合并)

题目说明给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入: Tree 1 Tree 2 ...

2020-04-30 23:32:16 513

原创 JavaScript:202. 快乐数(快慢指针)

题目说明编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。如果 n 是快乐数就返回 True ;不是,则返回 False 。 示例:输入:19输出:true解释:12 + 92 ...

2020-04-30 10:50:03 536

原创 一道题,带你搞定二分法! (JavaScript)

题目描述题目有点长,我就截个图展示了。解题思路这跟我之前做的那个旋转数组有相似之处,都是两个有序序列的组合。JavaScript:leetcode_33. 搜索旋转排序数组(二分法)看题目限制,肯定又是不能用遍历的O(n)。而且对获取mountain的值有100次的限制。那么自然就想到了二分法,结合题目,mountain长度为10000那么大概分十几次就完事儿了。基本不会把一百次用完...

2020-04-29 13:34:14 174

原创 送给小白的一篇GIT操作实战:从安装到操作

本教程比较适合折腾了一会儿还比较混乱的小白。基本满足工作日常需求,解决工作中常见的痛点。开始首先我们需要去github官网申请git账号。git官网申请之后,我们进入自己的linux服务器安装git yum install -y git git --version配置 ssh-keygen // 生成key ssh-keygen...

2020-04-29 01:53:21 155

原创 JavaScript:面56 - I. 数组中数字出现的次数(分组异或)

题目说明一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2] 限制:2 <= ...

2020-04-28 12:44:41 139

原创 JavaScript:leetcode_33. 搜索旋转排序数组(二分法)

题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,7,0...

2020-04-27 15:33:37 179

原创 JavaScript:leetcode_46. 全排列 (广度优先遍历)

题目描述给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解题思路一广度优先遍历方法,递归解决如图所示, 我们需要3个信息:1. 和已确定序列,2. 剩余序列题解一:/** * @par...

2020-04-25 15:06:18 464

原创 JavaScript:leetcode_面试题51. 数组中的逆序对(归并排序记录逆序对)

题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1:输入: [7,5,6,4]输出: 5 解题思路一N*N遍历求出逆序对的总数题解一:/** * @param {number[]} nums * @return {number} */ var reversePairs ...

2020-04-24 15:32:02 299

原创 JavaScript:leetcode_面试题 08.11. 硬币(数学方法,双百分)

题目描述硬币。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有几种表示法。(结果可能会很大,你需要将结果模上1000000007)示例1: 输入: n = 5 输出:2 解释: 有两种方式可以凑成总金额: 5=5 5=1+1+1+1+1 示例2: 输入: n = 10 输出:4 解释: 有四种方式可以凑成总金额: 10=10 10=5+5...

2020-04-23 15:33:13 212

原创 JavaScript:leecode_199. 二叉树的右视图(二叉树中右左遍历)

题目描述给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 <--- / \2 3 <--- \ \ 5 4 <---解题思路对二叉...

2020-04-22 10:25:07 207

原创 JavaScript:leetcode_200. 岛屿数量 (DFS)

题目说明给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:11000110000010000011输出: 3解释...

2020-04-20 12:36:29 266

原创 JavaScript:leetcode_11. 盛最多水的容器 (暴力遍历=>双指针)

题目描述给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。解题思路 一暴力法办法一很简单,双层循环计算出所有可能的结果,选出最大的。var ma...

2020-04-19 00:58:52 184

原创 块级作用域内的函数声明到底是什么???

说明在一篇文章里看到这样一个问题。文章地址文章中会扩展一些其他的内容, 大家可以看过之后再来看我这篇个人的总结函数声明写在块级作用域中(ES6) var a = 0; if(true){ a = 1; function a(){} a = 21; console.log("里面",a); } console.log("外部",a); ...

2020-04-16 20:53:18 1069 2

原创 JavaScript:leetcode 每日一题 旋转矩阵 (逆列 => 行)

题目描述给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]] 解题思路目标阵列的每一横列为对应...

2020-04-07 17:57:11 173

原创 JavaScript:leetcode_289:生命游戏:巧妙处理边界问题。

题目描述解题思路其实这道题,大家看到第一眼应该就知道很简单了。同时更新的意思就是让我们拷贝一份数据备用嘛,根据原版备份数据去更新新的细胞阵列。boardBak = copy(board)然后看看核心思路统计8个位置的1的个数==3 那肯定要活着, ==2 自生自灭,其他情况都嗝屁 boardBak[y-1][x-1] + ...

2020-04-03 18:23:30 479

原创 JavaScript:leetcode_226. 翻转二叉树 (递归交换)

题目解析翻转一棵二叉树。示例示例 1:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1解题思路递归,递归判断条件1. 左右节点是否为null,不为null,则翻转其左右节点解答/** * Definition ...

2020-03-25 18:12:00 162

原创 Vue性能优化

背景总结一下使用Vue涉及到的性能优化方法,从我实践和查阅资源总结出来的集合。简介:v-if 和 v-showv-ifv-showcomputed 和 watch一、 v-if 和 v-show一般使用过vue或者angular及其相同框架的人都会知道他们的区别。v-if它是真正的条件判断语句,会根据条件对条件内的组件进行重建和销毁。它是惰性的,在第一次判...

2020-03-20 11:23:19 760

原创 轮询造成了操作堆积怎么办?

说明有时候我们需要用setinterval来执行一些异步操作来刷新页面的信息。但是如果一旦异步函数的请求时间过长,就会造成事件操作堆积。如:this.interval = setInterval(async () =# { const resp = await ajax(); this.rows = resp.rows; }, 5000);这样假如上次...

2020-03-14 15:30:46 359

原创 JavaScript:leetcode_112. 路径总和

题目解析:给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。示例示例 1:给定如下二叉树,以及目标和 sum = 22 5 / \ 4 8 / / \ 11 13 4 / \ ...

2019-12-13 09:44:17 136

原创 JavaScript:leetcode_101. 对称二叉树

题目解析给定一个二叉树,检查它是否是镜像对称的。示例示例 1:输入: [1,2,2,3,4,4,3] 对称 1 / \ 2 2 / \ / \3 4 4 3输出: true示例 2:输入: [1,2,2,null,3,null,3] 非对称 1 / \ 2 2 \ \ 3 3输出: false说明...

2019-12-13 09:38:29 157 1

原创 JavaScript:leetcode_94. 二叉树的中序遍历

题目解析:给定一个二叉树,返回它的 中序 遍历。示例示例 1:输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2]说明&&进阶: 递归算法很简单,你可以通过迭代算法完成吗? 前序排列的顺序是左,父,右。 解题思路递归,递归判断条件,该节点左右节点是否为null,递归时先左后右。解...

2019-11-27 15:51:32 154

原创 JavaScript:leetcode_144. 二叉树的前序遍历

题目解析:给定一个二叉树,返回它的 前序 遍历。示例示例 1:输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3]说明&&进阶: 递归算法很简单,你可以通过迭代算法完成吗? 前序排列的顺序是父节点在前,然后遍历左树,然后遍历右树。 解题思路递归,递归判断条件,该节点左右节点是否为nu...

2019-11-27 15:49:53 139

原创 JavaScript:leetcode_145. 二叉树的后序遍历

题目解析:给定一个二叉树,返回它的 后序 遍历。示例示例 1:输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]说明&&进阶: 递归算法很简单,你可以通过迭代算法完成吗? 前序排列的顺序是左,右,父。 解题思路递归,递归判断条件,该节点左右节点是否为null,递归时先左后右。跟前...

2019-11-27 15:48:50 167

原创 linux文件共享服务(Samba安装配置)

我们的服务器基本都是linux系统的,但是我们需要在windows下开发。解决方案有两种:通过git同步linux和windows下的代码。通过文件共享使windows连接linux下的共享文件夹现在说第二种方式如何实现:Samba的介绍我就不多说了,总结一下就是可以在windows下操作编辑linux里面共享的内容。(一) samba 安装安装之前用rpm确定一下自己的服务器...

2019-11-27 15:00:33 285

原创 JavaScript:leetcode_26. 删除排序数组中的重复项

原文blog题目解析:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你...

2019-10-21 10:48:47 242

原创 JavaScript:leetcode_1189. “气球” 的最大数量

原文blog题目解析:给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 “balloon”(气球)。字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 “balloon”。示例示例 1: 输入:text = "nlaebolko" 输出:1示例 2: 输入:text = "loonbalxball...

2019-10-21 10:47:05 343

原创 JavaScript:leetcode_144. 二叉树的前序遍历

原文blog题目解析:给定一个二叉树,返回它的 前序 遍历。示例示例 1:输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3]说明&&进阶: 递归算法很简单,你可以通过迭代算法完成吗? 前序排列的顺序是父节点在前,然后遍历左树,然后遍历右树。 解题思路递归,递归判断条件,该节点...

2019-10-21 10:44:42 284

原创 JavaScript:leetcode_264. 丑数 II

原文blog题目解析:编写一个程序,找出第 n 个丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例示例 1: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。提示: 1 是丑数。 n 不超过1690。解题思路方法一暴力循环(毫无疑问超时了)解...

2019-10-21 10:43:27 119

原创 JavaScript:leetcode_5198, 丑数 III

查看原文题目解析:请你帮忙设计一个程序,用来找出第 n 个丑数。丑数是可以被 a 或 b 或 c 整除的 正整数。示例示例 1: 输入:n = 3, a = 2, b = 3, c = 5 输出:4 解释:丑数序列为 2, 3, 4, 5, 6, 8, 9, 10... 其中第 3 个是 4。示例 2: 输入:n = 4, a = 2, b = 3, ...

2019-09-27 09:55:43 231

康熙字典数据库.mdb

完整的康熙字典数据库,下载后可直接进行解压缩获得文件,内容为mdb后缀的文件,主要包含了康熙access字典数据库的全部内容。

2020-09-22

xtfp免费版最新版

最新版xftp6免费版,安装即可使用,免注册免激活。亲测可用。

2018-08-29

webtstorm的sublime主题风格

解压之后,会得到一个Monokai-Sublime.jar文件,这个文件就是配色的打包文件,可以使用 webstorm 导入即可。

2018-06-13

阿里云linux一键安装web环境

阿里云官方一键安装web环境的安装包,官方商城里面的官方环境,简单安装你的linux环境快速上手。

2018-05-25

git培训手册,入门手册

git是我们常用的代码管理工具,能够让多人协作开发很方便,git培训手册,涵盖了git入门的所有命令,掌握可以使用git进行版本管理。

2018-05-24

JavaScript书写规范

js书写格式,可以规范我们的js代码风格,更易阅读和更新,易于理解和优化,提高加载速度,优化代码结构。使自己的代码更加的优美

2018-05-24

css书写代码要求规范

css代码规范,可以让我们写出更加规范的css代码,更易阅读和修改。规范的自己的代码风格

2018-05-24

html书写规范

html写作规范,良好的html代码风格有助于我们更好的阅读代码,对浏览器更加的友好。让自己的页面更加规范,加载速度更快。

2018-05-24

Dev-Cpp_5.11

Dev-C++是一个Windows环境下的一个适合于初学者使用的轻量级 C/C++ 集成开发环境(IDE)。它是一款自由软件,遵守GPL许可协议分发源代码。它集合了MinGW中的GCC编译器、GDB调试器和 AStyle格式整理器等众多自由软件。原开发公司 Bloodshed 在开发完 4.9.9.2 后停止开发,所以现在由 Orwell 公司继续更新开发,最新版本:5.11。

2018-05-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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