JavaScript-Algorithms icon indicating copy to clipboard operation
JavaScript-Algorithms copied to clipboard

基础理论+JS框架应用+实践,从0到1构建整个前端算法体系

Results 112 JavaScript-Algorithms issues
Sort by recently updated
recently updated
newest added

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 **示例 1:** ```js 输入: num1 = "2", num2 = "3" 输出: "6" ``` **示例 2:** ```js 输入: num1 = "123", num2 =...

腾讯

给定两个用链表表示的整数,每个节点包含一个数位。 这些数位是反向存放的,也就是个位排在链表首部。 编写函数对这两个整数求和,并用链表形式返回结果。 **示例:** ```js 输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295 输出:2 -> 1 -> 9,即912 进阶:思考一下,假设这些数位是正向存放的,又该如何解决呢? ``` **示例:** ```js 输入:(6 -> 1...

快手

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 **示例 1:** ![](http://resource.muyiy.cn/image/20201030071205.png) ``` 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 ``` **示例 2:** ``` 输入:height = [4,2,0,3,2,5] 输出:9 ``` **提示:** - n...

编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: ![](http://resource.muyiy.cn/image/20200414215701.png) 在节点 c1 开始相交。   **示例 1:** ![](http://resource.muyiy.cn/image/20200414215713.png) ```js 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Reference of the node with...

LeetCode
字节

给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 `[1,2,2,3,4,4,3]` 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 `[1,2,2,null,3,null,3]` 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 **进阶:**...

LeetCode
字节
剑指Offer

贴一次我之前写的实现,篇幅太长,这里只贴出实现结果,实现细节可前往 [JS 基础之异步(三):Promise源码实现](https://github.com/sisterAn/blog/issues/13) 查看 ### 完整代码实现 ```js // 三种状态 const PENDING = "pending" const FULFILLED = "fulfilled" const REJECTED = "rejected" function MyPromise(callback) { var _this = this _this.currentState =...

手写源码

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 **示例:** ```js 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. ``` **说明:** 给定的 n 保证是有效的。 **进阶:** 你能尝试使用一趟扫描实现吗? 附leetcode地址:[leetcode](https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/solution/javascriptshan-chu-lian-biao-dao-shu-di-n-ge-jie-d/)

LeetCode

话不多说,来一道题目加深一下理解吧: 输入整数数组 `arr` ,找出其中最小的 `k` 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。  **示例 1:** ```js 输入:arr = [3,2,1], k = 2 输出:[1,2] 或者 [2,1] ``` **示例 2:** ```js 输入:arr = [0,1,2,1], k = 1 输出:[0] ```...

腾讯
字节

给定一个按照升序排列的整数数组 `nums` ,和一个目标值 `target` 。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 `O(logn) `级别。 如果数组中不存在目标值,返回 `[-1, -1]` 。 **示例 1:** ```js 输入: nums = [5,7,7,8,8,10], target = 8 输出: [3,4] ``` **示例 2:** ```js 输入: nums...

腾讯
LeetCode
字节