题目描述
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 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
题解
就是判断嘛!
第一步:就是比较当这个目标值小于nums【0】的时候
int a=0;
if (target<nums[0] || target==nums[0]){
return a;
}
第二步:当目标值大于最后一个nums【nums.length-1】的时候
if (target > nums[nums.length-1]){
return a=nums.length;
}
第三步:当目标值等于最后一个nums【nums.length-1】的时候
if(target == nums[nums.length-1]){
return a=nums.length-1;
}
第四步:当目标处于nums数组中间的时候
for(int i=0;i<nums.length;i++){
if(nums[i]<=target && target<=nums[i+1]){
return a=i+1;
}
}
最后
总体代码
public class Main {
public static void main(String[] args) {
int a[] ={1,3};
int var = 3;
System.out.println(searchInsert(a,var));
}
public static int searchInsert(int[] nums, int target) {
int a=0;
if (target<nums[0] || target==nums[0]){
return a;
}else if (target > nums[nums.length-1]){
return a=nums.length;
}else if(target == nums[nums.length-1]){
return a=nums.length-1;
}
for(int i=0;i<nums.length;i++){
if(nums[i]<=target && target<=nums[i+1]){
return a=i+1;
}
}
return a;
}
}
算法题来源:力扣
欢迎朋友们一起进步!!!
2020-12-19