Skip to content

Instantly share code, notes, and snippets.

@noru
Last active July 16, 2018 14:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save noru/16835f7ca3f38c162219c76ae3e474ff to your computer and use it in GitHub Desktop.
Save noru/16835f7ca3f38c162219c76ae3e474ff to your computer and use it in GitHub Desktop.
binary_search_insert
/**
* @param {number[]} nums
* @param {number} target
* @return {number}
*/
var searchInsert = function(nums, target) {
let start = 0
let end = nums.length - 1
if (nums[end] < target) {
return end + 1
}
let mid = (start + end) >> 1
while (start < end) {
let midVal = nums[mid]
if (midVal === target) {
return mid // mid + 1 if insert after
} else if (midVal < target) {
start = mid + 1
} else {
end = mid
}
mid = (start + end) >> 1
}
return mid
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment