java数组排序和索引

发布时间:2020-05-27 21:14:36

来源:亿速云

阅读:151

作者:鸽子

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

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

示例 1:

输入: [1,3,5,6], 5

输出: 2

代码实现class Solution {

public:

int searchInsert(vector& nums, int target) {

int begin = 0;

int end = nums.size()-1;

int index  = -1;

while(index == -1)

{

int mid = (begin + end) / 2;

if(nums[mid] == target)

index = mid;

else if(target < nums[mid])

{

if(mid == 0 ||  target > nums[mid - 1] )   //先判断mid的值,,顺序不能反

index = mid;

end = mid - 1;

}

else if(target > nums[mid])

{

if( mid == nums.size()-1 ||target < nums[mid + 1] )

index = mid + 1;

begin = mid + 1;

}

}

return index;

}

};

java 排序返回索引_java数组排序和索引相关推荐

  1. Java排序算快速排序_Java排序算法 [快速排序]

    package cn.com.dom4j.sort; public class QuickSort { /** 快速排序 在 Java中, 快速排序被用作基本数据类型的排序 (当然, 不只快速排序一种 ...

  2. java排序链表冒泡排序_Java中的冒泡排序

    java排序链表冒泡排序 Java Sorting is one of the many aspects of java interview questions. In this post, we w ...

  3. java 接口 返回值_java api返回值的标准化详解

    api返回值的标准化 例如 {"status":200,"message":"操作成功","data":"{\ ...

  4. java协变返回类型_Java中的协变返回类型

    java协变返回类型 协变返回类型 (Covariant return type) The covariant return type is that return type which may va ...

  5. java怎么返回数组_java方法怎么返回数组

    java方法返回数组的方法:在方法前添加int[]即可返回一维的整型数组.如果在方法前添加int[][],则可以返回二维的整型数组. Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还 ...

  6. java排序 面试题_java【排序】面试题

    排序 选择排序 基本思想 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完. 简单理解:每个元素都和它后面的元素比较,只要后面的元素比它大就交 ...

  7. java string 返回方法_java的String常见的操作方法

    String类对象的常用操作及方法 在Java中,String类包含有50多个方法来实现字符串的各种操作,以下介绍一些我们需要经常使用的方法. (1)字符串的连接 public String conc ...

  8. java indexof 返回值_Java String indexOf() 方法

    例如: 在字符串中搜索"cjavapy"的首次出现:String myStr = "c java python is cjavapy and www.cjavapy.co ...

  9. java排序 面试题_Java八大排序(面试答题!)

    八大排序(重点!!) ​排序算法大体可分为两种: 1.比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等. 2.非比较排序,时间 ...

  10. java数组长度最大值_java 数组排序、最大值、最小值 | 学步园

    原文:http://liyaxi.iteye.com/blog/856334 public class ArraysTest { /** * 数组排序 * 数组中的最大值 * 数组中的最小值 */ p ...

最新文章

  1. verdi bin工具
  2. CSS 锦囊[收藏]
  3. OpenStack(四)——Nova组件
  4. http get extension information - another way to get host url and port number of current application
  5. java找三个数最大_用Java程序找最大的数字(4)
  6. sql数据透视_SQL Server中的数据科学:取消数据透视
  7. 苹果计算机如何安装应用软件,Mac下如何安装软件?
  8. office2007每次打开都配置进度_每次打开excel2007都要配置进度怎么办?
  9. 如何才能快速拥有一张高含金量的IE证书?
  10. *计算机二级MS office 注意事项*
  11. matlab 差分 平稳时间序列,利用时间序列模型预测贵阳市烟草生长期内的降水量...
  12. OpwnWrt 路由器MWAN3多线多拨实现方法
  13. blink usb无线网卡驱动 linux,blink随身wifi驱动
  14. 合唱队形(线性DP)
  15. 苹果6s上市时间_为什么苹果能用5年,安卓1年得换?原因太真实了
  16. 虚拟化基本知识及virtio-net初探
  17. IT项目管理那些事儿读书笔记
  18. Zemax操作18--12倍激光扩束镜
  19. 客户下样单后怎么跟进?
  20. 传统行业与供应链数据分析的“势”、“道”、“术”

热门文章

  1. Flash键盘钢琴谱
  2. VR是什么,去哪里学习?
  3. java方法调用制作万年历,基于JAVA的万年历api调用代码实例
  4. Algorithm Review 5 图论
  5. [译文]使用VBA-SDL-H寻找图片
  6. CBCGPToolBarImages和CImageList创建与使用
  7. 十字路口旁边有一个路口_观察路口观察员
  8. acer 4741G驱动
  9. 刘宇凡:苍井空靠粉丝经济卖内衣还能持续多久?
  10. linux安装安卓fastboot,Android的fastboot协议