Drizzle 祝大家新年快乐 🐯
给你一个整数数组 nums
,和一个整数 target
,请在数组中找到元素等于 target
的区域。
若 nums
查找不到 target
,则返回 []
。
请使用O(log n)
的算法解决本题~
输入:
第一行输入2个整数,分别表示数组长度 n
和目标值 target
第二行输入 n
个整数表示数组 nums
6 8
5 7 7 8 8 10
输出:
输出找到的目标值区域
[3, 4]
范围:
- 0 <= nums.length <= 106
- -109 <= nums[i] <= 109
- nums 是一个非递减数组
- -109 <= target <= daima109
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int l,r,n,t,x;
bool flag=false;
cin>>n>>t;
for(int i=0;i<n;i++){
cin>>x;
if(x==t&&!flag){
l=i;
flag=true;
}
else if(x>t){
r=i-1;break;
}
}
printf("[%d, %d]",l,r);
return 0;
}