C++练习 | 在递增序列中查找最后一个小于等于指定数的元素

#include <iostream>
using namespace std;
int mid,l0;
int solve(int a1[],int l,int r,int x)
{
if(l==r&&l==&&a1[l]>x)
return -;
if(l==r&&a1[l]<=x)
return a1[l];
if(l==r&&a1[l]>x)
return solve(a1,l0,mid,x);
mid=(l+r)/;
l0=l;
if(a1[mid]>x)
return solve(a1,l,mid-,x);
else if(a1[mid]==x)
return a1[mid];
else
return solve(a1,mid+,r,x);
} int main()
{
int a[];
int n,m,x;
cin>>n>>m;
for(int i=;i<=n;i++)
{
cin>>a[i];
}
while(m--)
{
cin>>x;
cout<<solve(a,,n,x)<<endl;
}
return ;
}

要注意考虑只剩一个元素时的求解

上一篇:花钱买到的技术,chrome扩展 内容页获取原始页面的js变量


下一篇:使用openoffice将word文件转换为pdf格式遇到问题:The type com.sun.star.lang.XEventListener cannot be resolved. It is indirectly referenced from required