什么系统做购物网站好什么是电商平台推广
题目:
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果 target 存在返回下标,否则返回 -1。
你必须编写一个具有 O(log n) 时间复杂度的算法。
思路:灵神 闭区间写法,>= > < <=转化 ,外加 考虑一些特殊情况
代码:
class Solution {public int search(int[] nums, int target) {int ans = lowerBound(nums, target);if (ans == nums.length)return -1;if (nums[ans] == target) {return ans;} else {return -1;}}private int lowerBound(int[] nums, int target) {int left = 0, right = nums.length - 1;while (left <= right) {int mid = left + (right - left) / 2;if (nums[mid] < target) {left = mid + 1;} else {right = mid - 1;}}return left;}
}
性能:
时间复杂度o(logn)
空间复杂度o(1)
