成都创新互联网站制作重庆分公司

java数组排序和索引

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

创新互联是一家集网站建设,湖南企业网站建设,湖南品牌网站建设,网站定制,湖南网站建设报价,网络营销,网络优化,湖南网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

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

示例 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数组排序和索引
本文来源:http://cxhlcq.com/article/ijehhj.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部