LeetCode 399.除法求值 https://leetcode-cn.com/problems/evaluate-division/ 给出方程式 A / B = k, 其中 A 和 B 均为用字符串表示的变量, k 是一个浮点型数字。根据已知方程式求解问题,并返回计算结果。如果结果不存在,则返回 -1.0。 输入总是有效的。你可以假设除法运算中不会出现除数为 0 的情况,且不存在任何矛盾的结果。 示例 1: 输入:e 2021-01-05 算法题 解答 LeetCode 二叉树
LeetCode 279. 完全平方数 https://leetcode-cn.com/problems/perfect-squares/ 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 示例 1: 输入: n = 12 输出: 3 解释: 12 = 4 + 4 + 4. 示例 2: 输入: n = 13 输出: 2 解释: 13 = 4 + 2021-01-04 算法题 解答 LeetCode 记忆数组
2.JS执行上下文和变量对象 JS 是单线程语言,因此执行顺序是顺序执行,不过 JS 引擎在执行 JS 代码的时候并不是逐行执行,而是一段一段地分析执行,先是编译阶段,然后才是执行阶段。 具体的体现可看例子: 例一 变量提升 我们在未定义 foo 之前就使用了它,结果不会报错,而是会为 undefined,随后, foo 会像我们定义的那样先是输出 foo1 ,后输出 foo2。 console.log(foo) 2021-01-01 JS JS调用堆栈 执行上下文 执行栈 变量对象
1.JS 执行上下文和执行栈 执行上下文就是当前 JS 代码被解析和执行时所在的环境的抽象概念,JS 中运行的代码都是在执行上下文中进行的。 执行上下文的类型 全局执行上下文 默认的执行上下文,一个程序中只有一个全局执行上下文。不在任何函数中的代码都位于全局执行上下文中。它会:1. 创建一个全局对象,浏览器中这个全局对象就是 window 对象;2. 将 this 指向这个全局对象。 函数执行上下文 每个函数 2020-12-29 JS JS调用堆栈 执行上下文 执行栈 变量提升
剑指 Offer 51. 数组中的逆序对 https://leetcode-cn.com/problems/shu-zu-zhong-de-ni-xu-dui-lcof/ 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1: 输入: [7,5,6,4] 输出: 5 限制: 0 <= 数组长度 <= 50000 在数组中的两个数字,如果前面 2020-12-19 算法题 解答 剑指Offer 二叉搜索树 分治
Set、Map、和WeakSet、WeakMap 集合(Set) Set 是 ES6 新增的数据结构,类似于数组,但其成员是唯一无序的,没有重复的值。 Set 对象可根据 iterable 对象来创建: let arr = [1, 2, 3, 4, 1, 2, 3]; let s = new Set(arr); // Set(4) {1, 2, 3, 4} // 数组去重 let uniArr = [...s]; // 2020-12-09 JS JS Map WeakMap Set WeakSet
知识点杂记 for in 和 for of 的区别 首先,for in 遍历的是对象的属性名(key),for of 遍历的是值 for of 只能用于遍历迭代对象,如数组、字符串、map、set等,因此不能用于遍历对象 for in 用于遍历对象的所有可枚举属性,虽然也可以遍历数组,但是不推荐用来遍历数组,因为 for in 还会遍历原型的方法和属性,且遍历顺序可能和预想的不一样 for in 在遍历对 2020-12-09 JS JS
5620.连续连接的二进制数字 第一次 JS 双百,虽然是虚假的双百 😭 写法1 :耿直模拟 使用 JS 中的进制转换函数 toString 和 parseInt 实现模拟。 toString 能将十进制数字转换为任意进制数字,如 (5).toString(2) = 101 parseInt 能将二进制数字转换为十进制数字,如 parseInt('101', 2) = 5 不过这种写法效率可能有点差,会 2020-12-06 算法题 解答 LeetCode 大数 模拟
JS 数组 数组 获取数组中的最大、最小值 let arr = [3, 5, 1, 7, 4]; console.log(Math.max(...arr)); // 7 console.log(Math.min(...arr)); // 1 创建多维数组 以创建 5x5 的二维数组为例: let arr = new Array(5).fill(0).map(_ => new Array(5). 2020-11-27 JS JS Array
JS 函数 函数 函数也是对象 function bark() { console.log('Woof!'); } bark.animal = 'dog'; 上面的代码在 JS 中是可行的,因为函数也是对象(除了基本类型之外其他都是对象)。 构造器函数 在 JS 中,结合 new 前缀来调用的函数被称为构造器函数,构造器函数按约定 2020-11-27 JS JS Function