Daydayup
Daydayup copied to clipboard
2021_12_23_早间播报第五十四期
- 第一期面试题非常成功 19个人 全部打卡
- 0.1 为什么会循环
- 你说损失为什么加在一起反而多了 0.1 + 0.2 = 0.30000000000000004
- 科学计数法
- https://github.com/su37josephxia/frontend-interview/issues/3
- 新增两个栏目 荣耀墙 和 面经线索
昨天
-
2021.12.22
-
环形链表(补视频)
- 破站 https://www.bilibili.com/video/BV1BL4y1n7eC/
-
环形链表 II(补视频)
- 破站 https://www.bilibili.com/video/BV1HL41157pc/
-
返回倒数第 K 个节点
- 代码 https://github.com/bianzheCN/lc/blob/master/%E8%BF%94%E5%9B%9E%E5%80%92%E6%95%B0%E7%AC%AC%20k%20%E4%B8%AA%E8%8A%82%E7%82%B9.js
- 掘金 []
- 破站 https://www.bilibili.com/video/BV1db4y1v7XY/
-
函数的独占时间
- 代码 https://github.com/bianzheCN/lc/blob/master/636.%20Exclusive%20Time%20of%20Functions.js
- 掘金 []
- 破站 https://www.bilibili.com/video/BV13F411B7UK/
今天
只学一道算法(1124. 表现良好的最长时间段 这题有点难的),休息下☕️。
昨天
2021.12.22
环形链表(补视频)
- 破站 https://www.bilibili.com/video/BV1BL4y1n7eC/
环形链表 II(补视频)
- 破站 https://www.bilibili.com/video/BV1HL41157pc/
返回倒数第 K 个节点
- 代码 https://github.com/bianzheCN/lc/blob/master/%E8%BF%94%E5%9B%9E%E5%80%92%E6%95%B0%E7%AC%AC%20k%20%E4%B8%AA%E8%8A%82%E7%82%B9.js
- 掘金 []
- 破站 https://www.bilibili.com/video/BV1db4y1v7XY/
函数的独占时间
- 代码 https://github.com/bianzheCN/lc/blob/master/636.%20Exclusive%20Time%20of%20Functions.js
- 掘金 []
- 破站 https://www.bilibili.com/video/BV13F411B7UK/
今天
只学一道算法(1124. 表现良好的最长时间段 这题有点难的),休息下☕️。
这题确实难搞 我当时做的时候也是想了好几天
昨天
- 修复 varlet-ui-pro 搜索框按钮点击后被挤压的问题
原因:flex布局时如果没有明确宽度,具有overflow属性的元素会被挤压 解决方案 被挤压的元素添加 flex-shrink设置为0
今天
- 第二套剩下的算法题
- 开新的组件的坑
昨天
2021.12.22
环形链表(补视频)
- 破站 https://www.bilibili.com/video/BV1BL4y1n7eC/
环形链表 II(补视频)
- 破站 https://www.bilibili.com/video/BV1HL41157pc/
返回倒数第 K 个节点
- 代码 https://github.com/bianzheCN/lc/blob/master/%E8%BF%94%E5%9B%9E%E5%80%92%E6%95%B0%E7%AC%AC%20k%20%E4%B8%AA%E8%8A%82%E7%82%B9.js
- 掘金 []
- 破站 https://www.bilibili.com/video/BV1db4y1v7XY/
函数的独占时间
- 代码 https://github.com/bianzheCN/lc/blob/master/636.%20Exclusive%20Time%20of%20Functions.js
- 掘金 []
- 破站 https://www.bilibili.com/video/BV13F411B7UK/
今天
只学一道算法(1124. 表现良好的最长时间段 这题有点难的),休息下☕️。
这题确实难搞 我当时做的时候也是想了好几天
我经常掉进难题的深坑哈哈哈哈哈,吼着豪言壮志要搞10道题,结果被第一题困住😭
昨天
今天
- 斐波那契数列
- 路径总和
- 一道面试题
昨日完成
- 预习js实现链表,bitMap,位运算符 2.复习:Vue权限路由[菜单权限/按钮权限控制]
今日计划
- 位运算符学习,并实现一个位运算的面试题
- 村长vue2:组件化开发实践
昨日完成
今日计划
二叉搜索树中第K小的元素 二叉树的右视图 对称二叉树
争取每道题目递归和迭代都做一遍
遇到问题
项目忙起来了,都是刚给需求明天后天就要交付,最近进度可能会落下一些放假补回来
昨天完成
- 设计前中后双端队列(进行中,未完成)
今日目标
- 二叉树的基本知识点整理&相关题目输出
- 队列相关题目梳理及实现
昨天完成
leetcode-1801-积压订单中的订单总数 掘金 B站 0.1+0.2!==0.3 解题
今天要做
leetcode-面试题 04.05-合法二叉搜索树 leetcode-230-二叉搜索树中第K小的元素 leetcode-199-二叉树的右视图 输出掘金 B站 JS整数怎么表示?解题
昨日完成
今日计划
- leetcode-621 任务调度器 (掘金 b站)
- 面试题 03.04. 化栈为队 (github 掘金 b站)
0.1 为什么会循环
十进制的 0.1 转为二进制,得到一个无限循环小数:0.00011…。也就是说,二进制无法「用有限的位数」来表示 0.1。
二进制能「用有限的位数」表示的有:0.5、0.25、0.125 等。
你说损失为什么加在一起反而多了 0.1 + 0.2 = 0.30000000000000004
十进制的 0.1 转为二进制,得到一个无限循环小数:0.00011…。JS中的Number类型,二进制小数的有效位数只有52位,从0到51位(包括边界)。所以0.1的二进制有效位:在chrome控制台输入(0.1).toString('2')
并打印结为:"0.0001100110011001100110011001100110011001100110011001101"。小数部分刚好52位。最终,计算机存的数是一个近似于 0.1 的小数。
而0.1确切的二进制值是0-01111111011-1001100110011001100110011001100110011001100110011010,
对应的十进制值是0.10000000000000000555...。同理0.2当转换为二进制时也是一个近似数所谓的损失不是变小而是精度损失,而IEEE 754 Floating-point采用round to nearest, tie to even的舍入模式:向偶舍入,舍入的值保证最靠近原浮点数值,如果舍入为中间值,即舍还是入距离相等,那么按其最末尾一位是奇数,则入,如果为偶数,则舍。
所以近似值会出现比原数值更大的情况。
昨天完成
今天想做的事
- 面试题 04.05. 合法二叉搜索树
- 二叉搜索树中第 K 小的元素
- 二叉树的右视图
十进制转为二进制方法
拿 173.8125 举例如何将之转化为二进制小数。
-
针对整数部分 173,采取除 2 取余,逆序排列;
173 / 2 = 86 ... 1 86 / 2 = 43 ... 0 43 / 2 = 21 ... 1 ↑ 21 / 2 = 10 ... 1 | 逆序排列 10 / 2 = 5 ... 0 | 5 / 2 = 2 ... 1 | 2 / 2 = 1 ... 0 1 / 2 = 0 ... 1
得整数部分的二进制为 10101101。
-
针对小数部分 0.8125,采用乘 2 取整,顺序排列;
0.8125 * 2 = 1.625 | 0.625 * 2 = 1.25 | 顺序排列 0.25 * 2 = 0.5 | 0.5 * 2 = 1 ↓
得小数部分的二进制为 1101
-
将前面两部的结果相加,结果为 10101101.1101
二进制转为十进制方法
以二进制 10101101.1101 为例
-
针对整数部分 10101101 计算逻辑如下:
// 10101101 // ← 从右往左 1 * 2^0 + 0 * 2^1 + 1 * 2^2 + 1 * 2^3 + 0 * 2^4 + 1 * 2^5 + 0 * 2^6 + 1 * 2^7 = 1 + 0 + 4 + 8 + 0 + 32 + 0 + 128 = 173
-
小数部分 1101 计算逻辑如下
// 1101 // 从左往右 → 1 * 2^-1 + 1 * 2^-2 + 0 * 2^-3 + 1 * 2^-4 = 1/2 + 1/4 + 0 + 1/16 = 13/16 = 0.8125
-
最后将整数部分跟小数部分相加得到最终结果 173.8125
科学计数法
- 十进制 173.8125 的科学计数法为 1.738125 * 10^2
- 十进制 173.8125 对应的二进制 10101101.1101,进一步可以使用二进制的科学计数法来表示,对应的二进制科学计数法为 1.01011011101 * 2^7。跟十进制类似,将底数 10 换为了 2,7 则代表小数点往右多少位。
1.01011011101 * 2^7 为二进制,将其转换为 10 进制的过程为,先将 1.01011011101 做为 2 进制转换为 10 进制,得到 1.35791015625,然后将其乘以 2^7 (也就是 1.35791015625 * 128),最后得到的十进制为 173.8125
科学计数法中的E
E是指数的意思,E代表的英文是exponent,E表示10的多少次方的意思
比如7.823E5 = 782300
这里E5
表示10的5次方,再比如54.3E-2 = 0.543
这里E-2
表示10的-2次方
再补充一点(针对负次方理解)
一个数的负几次方就是这个数的几次方的倒数
比如: 2的负1次方=2的1次方分之一=1/2
比如: 3的负2次方=3的2次方分之一=1/9
昨天
- 回文字串
今天
- 二叉树的后序遍历