Leetcode
1oneLee
这个作者很懒,什么都没留下…
展开
-
组合问题(回溯法)
/** 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] */ function getUnion(n, k) { let res = [] let path = [] function backtracing(n, k, startIndex) { if .原创 2021-10-03 14:18:53 · 312 阅读 · 0 评论 -
二分搜索各种情况总结
1. 基本的二分搜索(递归实现) 问题:查找目标元素,存在返回索引,不存在返回 -1 let array = [1,2,3,4,5,6,7] target = 3 搜索范围:[ l, r ] 递归的终止条件: l > r 递归代码: function BinarySearch(arr, l, r, target) { if (l > r) return -1 // 递归的终止条件 let mid = Math.floor(l + (r - l) / 2)原创 2021-09-19 22:50:36 · 103 阅读 · 0 评论 -
88. 合并两个有序数组
var merge = function (nums1, m, nums2, n) { // 定义三个指针 let [p1, p2, k] = [m - 1, n - 1, m + n - 1]; // 当p1或p2指向有值 while (p1 >= 0 || p2 >= 0) { if (p1 < 0) { // 如果p1已经移出 // 将p2的位置赋值给nums1相应位置原创 2021-09-16 20:37:28 · 82 阅读 · 0 评论