
面试题
Joel9097
Cease to struggle and you cease to live!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一个算法题
通用性还是 最小堆的算法最通用,如果是裂变成多个数也能用,就算不是 2k+1 这种简单裂变规则也都能用。不过,通用性就不太行了,如果每个数是裂变成3个或更多,就得准备更多序列和指针,比较大小时也麻烦了。不过没有保留整个数组,处理完的元素都扔了,也就没有缓存,每次调用都重新生成一遍。用数组模拟了一个最小堆,用二分查找降低时间复杂度,挺好。双指针法的实现里,指针的移动,以及 两个序列数组的。如果要做缓存,避免每次重新生成,也只需要把每次的。这应该是最快的实现方式了,时间复杂度只有。2025.04.25 更新。原创 2022-01-10 23:41:58 · 433 阅读 · 0 评论 -
看到了几道关于算法的前端面试题
这年头,前端对逻辑能力的要求也是越来越高啊~ 以下代码都是我自己独立写的,能力有限,不保证正确。还请大佬们多多指点。 第一题: 请完成函数: 输入参数为两个字符串 s 和 t ,判断 t 是否可以通过删除若干字符得到 s 。 例如: “abcsfs” 可以删除部分字符得到 “bcss” 。 function isInsideString(s, t) { return false; } 我的写法: /* 输入两个字符串 s 和 t ,判断 t 是否能通过删除若干字符得到 s */ func原创 2020-05-28 15:55:36 · 518 阅读 · 0 评论 -
一道关于JS执行机制的面试题
今晚在掘金大佬的文章里看到一道题,稍加改造,并有点自己的浅见可以记录一下。 大佬的文章 https://juejin.im/post/5eb55ceb6fb9a0436748297d ,题就是那照片中的第3题。 我稍加改造,加入了 Promise ,以体现 微任务和宏任务 的知识点。 function Counter() { var start = Date.now(); this.num = 0; this.timer1 = setInterval(function() {原创 2020-05-10 04:10:46 · 555 阅读 · 0 评论