【发布时间】:2019-07-10 07:39:54
【问题描述】:
所以,基本上我想找到第二个数组中小于或等于第一个数组元素的所有元素。两个数组都已排序。我知道解决方案。我不想要那个。 我只想知道这个程序的时间复杂度以及我们将如何计算它。提前谢谢你。
int count=0;
for(int i=0;i<n;i++)
{
for(int j=count;j<m;j++)
{
if(arr[i]>=arr[j])
//some O(1) code
else
{
count=j;
break;
}
}
}
【问题讨论】:
-
现在代码完全被破坏了;)它不会再运行了
-
对不起,伙计。即使它正在运行,也没有。看看这个。
-
现在,当它停在 i=j 时,count 将被设置为 i/rsp.ex (i+1)。所以内部循环做了一个比较。在)。它本质上是 if(arr[i]>=arr[i]) - 是相同的索引 i - 也就是说,对于每个元素,将元素与自身进行比较(重复在内部进一步运行,但随后将在下一次迭代:没有区别)。你可以通过一个循环来实现这一点
标签: java c++ algorithm time-complexity