vector <int> alternateNumbers(vector<int>&a) {
// Write your code here.
bool pos = true;
int n = a.size();
vector<int> ans;
int i = 0, j = 0;
while(ans.size() != n){
if(pos){
if(a[i] >= 0){
ans.push_back(a[i]);
pos = false;
}
i++;
}
else{
if(a[j] < 0){
ans.push_back(a[j]);
pos = true;
}
j++;
}
}
return ans;
我想知道代码的复杂性大多数情况下,当我得到一个正数时,我会增加i,当我得到一个负数时,我会增加j。根据问题,我将得到向量
我想说的是 Big-O 表示法(最坏情况)是 O(n)。在 Big-Omega 表示法(最好的情况)中是 Omega(1)。毕竟是单周期加1。
如果您不想自己探索如何估计它,有很多工具可以或多或少准确地为您完成此任务(即TimeComplexityAI,...)