文档章节

查找位置 Search Insert Position

叶枫啦啦
 叶枫啦啦
发布于 2017/04/12 14:48
字数 304
阅读 3
收藏 0

题目:

Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.

You may assume no duplicates in the array.

Here are few examples.
[1,3,5,6], 5 → 2
[1,3,5,6], 2 → 1
[1,3,5,6], 7 → 4
[1,3,5,6], 0 → 0

Subscribe to see which companies asked this question.

注意点:①使用java进行编写时,类名与方法名固定,不可修改。

              ②不需要编写main函数,只要符合算法逻辑即可

              ③可以调用部分现有的函数,如:Arrays.binarySearch(nums, target);

解答:

1.  语言:java

法一:

public class Solution {
    public int searchInsert(int[] nums, int target) {
            int start = 0;
            int end = nums.length - 1;
            //若为 <,则会造成结果错误
            while(start <= end){
                //防止溢出
                int mid = (end - start) / 2 + start;
                if(target == nums[mid]){
                    return mid;
                }else if(target < nums[mid]){
                    //若写为end = mid;则会造成超时
                    end = mid - 1;
                }else if(target > nums[mid]){
                    start = mid + 1;
                }
            }
            return start;
    }
}

法二:调用方法

public class Solution {
    public int searchInsert(int[] nums, int target) {
           int pos = Arrays.binarySearch(nums, target);
           if(pos < 0){

               //说明target不存在,此时返回第一个大于target的位置
               return -pos - 1;
           }else{
               return pos;
           } 
    }
}

2. 语言:Python

 

 

© 著作权归作者所有

叶枫啦啦
粉丝 14
博文 583
码字总数 400448
作品 0
海淀
私信 提问
Lintcode60 Search Insert Position 题解

【题目描述】 Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.You may as......

Winnielyn
2018/06/26
0
0
debian默认编辑器nano的用法

这里声明一下^表示键盘上的ctrl键,上个只要是做过编程的朋友应该都清楚,^G表示同时按下ctrl和g (F1)表示按(F1)也是一样的 ,M-表示使用alt+后面的键 ^G ==F1) Invoke the help menu 调用帮...

晓亮1210
2013/07/09
236
0
数据结构MOOC|二叉搜索树BST

课程内容来自:http://www.icourse163.org/learn/ZJU-93001?tid=1002654021#/learn/content?type=detail&id=1003620986 二叉搜索树(BST,Binary Search Tree) 也称二叉排序树或二叉查找树,......

darlingwood2013
2018/05/30
0
0
TSQL 字符串函数:截断和查找

字符串截断函数是指:Stuff 和 SubString,字符串查找函数是:CharIndex 和 PatIndex 一,SubString 截取子串 最常用的字符串函数,用于截取特定长度的子串。 SUBSTRING ( expression ,star...

长征6号
2015/06/18
0
0
C++ string类中的字符串查找

C++ string类中的字符串查找 类string提供了大量查找功能和搜索功能,其中比较常用的查找和搜索函数是find()函数、 findfirstnotof()函数、findfirstof()函数、findlastnotof()函数、findlas...

simpower
2015/08/07
37
0

没有更多内容

加载失败,请刷新页面

加载更多

最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
今天
5
0
说好不哭!数据可视化深度干货,前端开发下一个涨薪点在这里~

随着互联网在各行各业的影响不断深入,数据规模越来越大,各企业也越来越重视数据的价值。作为一家专业的数据智能公司,个推从消息推送服务起家,经过多年的持续耕耘,积累沉淀了海量数据,在...

个推
今天
8
0
第三方支付-返回与回调注意事项

不管是支付宝,微信,还是其它第三方支付,第四方支付,支付机构服务商只要涉及到钱的交易都要进行如下校验,全部成功了才视为成功订单 1.http请求是否成功 2.校验商户号 3.校验订单号及状态...

Shingfi
今天
4
0
简述Java内存分配和回收策略以及Minor GC 和 Major GC(Full GC)

内存分配: 1. 栈区:栈可分为Java虚拟机和本地方法栈 2. 堆区:堆被所有线程共享,在虚拟机启动时创建,是唯一的目的是存放对象实例,是gc的主要区域。通常可分为两个区块年轻代和年老代。更...

DustinChan
今天
6
0
Excel插入批注:可在批注插入文字、形状、图片

1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批...

东方墨天
今天
6
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部