Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 74fd528

Browse files
author
lucifer
committedJan 11, 2021
feat: 二分增加 JS
1 parent 3edb5b3 commit 74fd528

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed
 

‎src/codeTemplates/binarySearch.js

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,32 @@ export default {
240240
return l
241241
`,
242242
},
243+
{
244+
language: "JS",
245+
text: `
246+
/**
247+
* @author suukii
248+
* @description 寻找最左插入位置
249+
* @param {number[]} nums
250+
* @param {number} x
251+
* @returns {number}
252+
*/
253+
function searchInsertLeft(nums, x) {
254+
// 题意转换一下,其实就是寻找第一个“大于等于” x 的数字,返回它的下标
255+
let left = 0;
256+
let right = nums.length - 1;
257+
258+
while (left <= right) {
259+
const mid = Math.floor(left + (right - left) / 2);
260+
261+
if (nums[mid] >= x) right = mid - 1;
262+
if (nums[mid] < x) left = mid + 1;
263+
}
264+
265+
return left;
266+
}
267+
`,
268+
},
243269
],
244270
problems: [
245271
{
@@ -269,6 +295,31 @@ export default {
269295
return l
270296
`,
271297
},
298+
{
299+
language: "JS",
300+
text: `
301+
/**@author suukii
302+
* @description 寻找最右插入位置
303+
* @param {number[]} nums
304+
* @param {number} x
305+
* @returns {number}
306+
*/
307+
function searchInsertRight(nums, x) {
308+
// 题意转换一下,其实就是寻找第一个“大于” x 的数字,返回它的下标
309+
let left = 0;
310+
let right = nums.length - 1;
311+
312+
while (left <= right) {
313+
const mid = Math.floor(left + (right - left) / 2);
314+
315+
if (nums[mid] > x) right = mid - 1;
316+
if (nums[mid] <= x) left = mid + 1;
317+
}
318+
319+
return left;
320+
}
321+
`,
322+
},
272323
],
273324
problems: [
274325
{

0 commit comments

Comments
 (0)
Please sign in to comment.