74-Search for a Range

  1. Search for a Range My Submissions QuestionEditorial Solution
    Total Accepted: 83626 Total Submissions: 285587 Difficulty: Medium
    Given a sorted array of integers, find the starting and ending position of a given target value.

Your algorithm’s runtime complexity must be in the order of O(log n).

If the target is not found in the array, return [-1, -1].

For example,
Given [5, 7, 7, 8, 8, 10] and target value 8,
return [3, 4].

题意:在有序数组中找到目标元素并返回其对应的索引区间
思路:用二分查找找到中间元素位置,并向两边扩展

时间复杂度: O(logn+k)k
空间复杂度: O(1)

class Solution {
public:
    vector<int> searchRange(vector<int>& nums, int target) {
        int n = nums.size();
        int beg = 0,end = n-1;
        int mid;
        while(beg<=end){  //二分查找目标元素 
            mid = (beg+end)/2;
            if(nums[mid]>target)end = mid-1;
            else if(nums[mid]<target)beg = mid+1;
            else break;
        }
        vector<int> res(2,-1);
        cout<<"mid:"<<mid<<" "<<nums[mid]<<endl;
        if(nums[mid]==target){    //找到了 
            beg =0,end = n-1;
            int fir=mid,sec=mid;
            while(sec<=end&&nums[sec]==target)++sec;  //向右边扩展 
            while(fir>=0&&nums[fir]==target)--fir;    //向左边扩展 
            res[0]=fir+1;res[1]=sec-1;                //确定最终位置 
        }
        return res;                  
    }
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
a-range-picker报错"Invalid prop: custom validator check failed for prop 'value'."是因为组件的value属性未通过自定义验证器的检查。 根据引用,当出现这个错误时,首先要找到报错的组件,然后检查是否绑定了值,并且要确保绑定的数据类型与验证器一致。 引用中提到,在使用ant Design Vue中的日期区间选择器时,也出现了相同的错误。在该情况下,经过检查发现日期选择器的绑定值是一个数组。这表明,在使用a-range-picker时,我们需要将值绑定为一个数组,否则无法匹配。因此,我们需要检查我们的a-range-picker组件的值是否是一个数组。 综上所述,要解决a-range-picker报错"Invalid prop: custom validator check failed for prop 'value'."的问题,我们需要确保该组件绑定了值,并且该值的数据类型是一个数组。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [element-ui 报错Invalid prop: custom validator check failed for prop “index“.](https://blog.csdn.net/SmartJunTao/article/details/124093054)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【Ant Desgin ARange BUG】ARangePicker组件报错Invalid prop: custom validator check failed for prop ...](https://blog.csdn.net/qq_44933075/article/details/121988631)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值