【发布时间】:2019-06-09 15:28:18
【问题描述】:
这段代码的时间复杂度是多少?
我已尝试使用二进制搜索解决此问题,但无法以这种方式解决,请帮助查找此代码的复杂性。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++)
cin>>a[i];
int x;
cin>>x;
int p=-1;
int q=n;
while(p+1<q)
{
int m=(p+q)/2;
if(a[m]<x)
p=m;
else
q=m;
}
cout<<"j";
}
【问题讨论】:
-
"
#include<bits/stdc++.h> using namespace std;" -
扩展@JesperJuhl 的评论:Avoid
using namespace std。 Avoid#include <bits/stdc++.h>. -
顺便说一句,在线评委和代码竞赛不教良好的编码习惯。行业软件工程师会在代码检查中拒绝此代码并让您重写它。很少有商店需要这种代码(如果需要,他们的项目经理很糟糕,项目调度技术也很差)。
-
重新标记问题
标签: c++ time-complexity