网站建设可以自己弄吗知乎,做网站必须要服务器吗,济南响应式网站建设,开发软件需要哪些人员目录题目暴力二分迭代二分递归题目
给定一个排序数组和一个目标值#xff0c;在数组中找到目标值#xff0c;并返回其索引。如果目标值不存在于数组中#xff0c;返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2:… 目录题目暴力二分迭代二分递归 题目
给定一个排序数组和一个目标值在数组中找到目标值并返回其索引。如果目标值不存在于数组中返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 示例 4: 输入: [1,3,5,6], 0 输出: 0 暴力
class Solution {
public:int searchInsert(vectorint nums, int target) {for(int i 0;i nums.size();i){if(target nums[i]) return i;}return nums.size();}
};二分迭代
class Solution {
public:int searchInsert(vectorint nums, int target) {int start 0;int end nums.size()-1;int mid;while(start end){mid (start end)/2;if(nums[mid] target) return mid;else if(nums[mid] target){end mid -1;}else{start mid 1;}}return start;}
};二分递归
class Solution {
public:int recur(vectorint nums, int start,int end,int target){if(start end) return start;int mid (start end)/2;if(nums[mid] target) return mid;else if(nums[mid] target){return recur(nums,start,mid -1,target);}else{return recur(nums,mid 1,end,target);}return start;}int searchInsert(vectorint nums, int target) {return recur(nums,0,nums.size()-1,target);}
};