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;
   }
};

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:java数组排序和索引-创新互联
分享地址:http://cdiso.cn/article/csgoco.html

其他资讯