博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【leetcode之旅】数组- 35.搜索插入位置
阅读量:2056 次
发布时间:2019-04-28

本文共 1238 字,大约阅读时间需要 4 分钟。

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

你可以假设数组中无重复元素。

示例 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
public class SearchInsert {    public static void main(String[] args) {        int[] nums = {1,3,5,6};        int target = 1;        int result = searchInsert2(nums, target);        System.out.println(result);    }    /**     * 方法一:普通搜索     * @param nums     * @param target     * @return     */    public static int searchInsert1(int[] nums, int target) {        int len = nums.length;        //找出位置        for (int i = 0; i < len; i++) {            if (nums[i] >= target){                return i;            }        }        return len;    }    /**     * 方法二:二分搜索     * @param nums     * @param target     * @return     */    public static int searchInsert2(int[] nums, int target) {        int len = nums.length;        int index = 0;        //找出位置        while (index < len){            int mid = (index + len) / 2;            if (nums[mid] == target){                return mid;            }else if (nums[mid] > target){                len = mid;            }else{                index = mid + 1;            }        }        return len;    }}

 

 

转载地址:http://mvslf.baihongyu.com/

你可能感兴趣的文章
【NLP学习笔记】(一)Gensim基本使用方法
查看>>
【NLP学习笔记】(二)gensim使用之Topics and Transformations
查看>>
【深度学习】LSTM的架构及公式
查看>>
【深度学习】GRU的结构图及公式
查看>>
【python】re模块常用方法
查看>>
【JavaScript】call()和apply()方法
查看>>
【JavaScript】箭头函数与普通函数的区别
查看>>
前端面试题
查看>>
【JavaScript】常用方法记录
查看>>
C++ 数据存储类型
查看>>
39. Combination Sum
查看>>
剑指Offer 1.二维数组中的查找
查看>>
剑指offer 2.重建二叉树
查看>>
剑指offer 3.二叉树中和为某一值的路径
查看>>
剑指offer 4.替换空格
查看>>
剑指offer 5.从尾到头打印链表
查看>>
剑指offer 6.用两个栈实现队列
查看>>
剑指offer 7.旋转数组的最小数字
查看>>
剑指offer 8-11.斐波那契数列 跳台阶 变态跳台阶 矩形覆盖
查看>>
剑指offer 12.二进制中1的个数
查看>>