本文主要是介绍1895. 二分查找右侧边界,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
代码
#include<bits/stdc++.h>
using namespace std;
int a[100010],n,q;
int yc(int x)
{int l=1,r=n,mid;while(l<=r){mid=(l+r)/2;if(x<a[mid]) r=mid-1;else if(x>=a[mid]) l=mid+1;}if(a[l-1]==x) return l-1;else return -1;
}
int main()
{int i,x;cin>>n;for(i=1;i<=n;i++)cin>>a[i];cin>>q;for(i=1;i<=q;i++){cin>>x;cout<<yc(x)<<" ";}return 0;
}
记得点赞+关注+收藏!!!谢谢!!!
这篇关于1895. 二分查找右侧边界的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!