java - 复杂性 良好、中等和最差

标签 java time-complexity

我创建的这个计算两个数组的交集是线性的方法的复杂度(在良好、平均、最差的情况下)? O(n)

public void getInt(int[] a,int[] b){
    int i=0;
int j=0;    
while(i<a.length && j<b.length){
  if(a[i]==b[j]){
    System.out.print(a[i]+" ");
    i++;j++;
  }else if(a[i]<b[j]) i++;
   else if(a[i]>b[j]) j++;
  } 
 }

最佳答案

是的,它是线性的。它是 O(m+n),其中 m 是 a 的长度,n 是 b 的长度

关于java - 复杂性 良好、中等和最差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14501699/

相关文章:

java - 为什么会收到 ClassCastException 以及如何修复它?

algorithm - 2个for循环内递归调用的时间复杂度

algorithm - 如何找到算法的时间复杂度?

c++ - 如何在一个字符串中搜索多个子字符串

java - 如何使用 Java 11 HttpClient 和 Jackson 将 JSON 响应映射到 Java 类?

java - 如何获取在 Zebra Designer 中创建的标签中的变量字段?

java - mvn依赖:tree return nothing but build success

python - 关于程序的时间复杂度

algorithm - 这些循环 1 和 2 的时间复杂度是多少

java - 使用 Google 地理编码 API 将地址转换为纬度/经度时遇到问题。