济宁城乡住房建设网站网站建设可行性实施报告
济宁城乡住房建设网站,网站建设可行性实施报告,淘宝客网站名,室内设计效果图背景墙1 问题
给定一个排序数组和一个目标值#xff0c;在数组中找到目标值#xff0c;并返回其索引。如果目标值不存在于数组中#xff0c;返回它将会被按顺序插入的位置。
请必须使用时间复杂度为 O(log n) 的算法。
示例 1:
输入: nums [1,3,5,6], target 5 输出: 2
示例…1 问题
给定一个排序数组和一个目标值在数组中找到目标值并返回其索引。如果目标值不存在于数组中返回它将会被按顺序插入的位置。
请必须使用时间复杂度为 O(log n) 的算法。
示例 1:
输入: nums [1,3,5,6], target 5 输出: 2
示例 2:
输入: nums [1,3,5,6], target 2 输出: 1
示例 3:
输入: nums [1,3,5,6], target 7 输出: 4
2 答案
自己写的采用蓝红二分法套模板简单方便
class Solution:def searchInsert(self, nums: List[int], target: int) - int:l -1r len(nums)while l1 r:mid l(r-l)//2if nums[mid] target: l midelse:r midif nums[l] target:return lelse:return r官方解将三种情况 nums[middle] targe, nums[middle] target, nums[middle] target也比较好理解
class Solution:def searchInsert(self, nums: List[int], target: int) - int:left, right 0, len(nums) - 1while left right:middle (left right) // 2if nums[middle] target:left middle 1elif nums[middle] target:right middle - 1else:return middlereturn right 1 # 没有相等的则插入并返回索引 right 1
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89299.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!