以下算法的时间复杂度是多少? [复制]

2023-12-19

有人能告诉我这个算法的时间复杂度是多少吗? 请记住:第二个方法 (findMax) - 根据其获取的索引在数组上运行,这意味着该方法 (findMax) 不会每次都在所有数组上运行。 我认为这个算法的时间复杂度是 O(n) 但也许我错了。

public class Q2 {


public static int[] replace(int []a)
{
    for(int i = 0; i < a.length; i++ ){
        if(i == a.length-1){
            a[i] = 0; 
       }

        int maxSubArry = findMax(a,i); 

          swap (a, i, maxSubArry);
    }
    return a; 

}


public static int findMax (int[]a, int i)
{
  //  i = i +1; 
    int tmp = 0; 
    for(i = i +1; i<a.length; i++)
    {
        if(a[i] > tmp)
            tmp = a[i];
    }
    return tmp; 
    }


public static void swap(int[]a, int i, int maxSubArry)
{
    int temp = a[i]; 
    a[i] = maxSubArry; 
    a[i+1] = temp; 
}

}

your replace方法更像是冒泡排序算法,算法复杂度为O(n*n).

AND的初始值findMax应该Integer.MIN_VALUE。并且 if 语句是不必要的replace.

public static int[] replace(int[] a) {
    for (int i = 0; i < a.length-1; i++) {
        swap(a, i, findMax(a, i));
    }
    return a;
}


public static int findMax(int[] a, int i) {
    int tmp = Integer.MIN_VALUE;
    for (i = i + 1; i < a.length; i++) {
        if (a[i] > tmp)
            tmp = a[i];
    }
    return tmp;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以下算法的时间复杂度是多少? [复制] 的相关文章

随机推荐

  • 如何在 jQuery/Javascript 中逐点获取元素

    我想通过指定页面中的点值来获取元素 var point this svgRenderer getPoint serPoint chart 这将返回页面的精确点位置 该点包含一些 SVG 元素 可以是圆形 矩形 图像或其他元素 我想根据点位置
  • 无法在 cmakelists.txt 中使用 protobuf

    我正在尝试运行 protobuf repo 中给出的示例here https github com google protobuf tree master examples c 版本 我已经成功安装了该库并且能够运行Makefile 但在运
  • 三重感叹号的使用

    查看我们一个项目的源代码 我发现我们在条件语句中使用了三个感叹号的一些地方 如下所示 if someVar 现在 我明白这不是某种很少使用的运算符 它只是连续三个否定 例如 someVar 我不明白它有什么用 在我看来它可以安全地用单个感叹
  • Qt 中 QMainWindow 上的深色透明层

    我需要在我的应用程序中实现一个 正在加载 窗口 但我更喜欢用上面有文本的深色透明层覆盖整个 QMainWindow 有人知道该怎么做吗 我不知道如何在 Qt 中重叠小部件 布局 任何帮助将不胜感激 这个答案位于我的一系列与覆盖相关的答案中
  • 无法在 Windows 10 和 Python 3.7 上安装 dlib

    我正在尝试在 Windows 10 上的 Anaconda Python 3 7 上安装 OpenCV dlib 我已经安装了 Visual studio 2015 作为先决条件以及 CMake 当我尝试在计算机上安装 dlib 时 出现以
  • Android Studio 中未处理的异常 Class.forname("com.google.cloud.sql.jdbc.Driver")

    我在 Android Studio 中有一个项目谷歌云端点模块 我正在尝试将我的端点模块连接到一个实例谷歌云SQL我在同一个项目中拥有的 在 IDE 中我看到以下错误 Unhandled exception java lang ClassN
  • C++ 变量名前的“ :: ”

    include
  • Android从服务器下载图像并保存到SD卡而不使用BitmapFactory

    我正在尝试创建一个用于从服务器下载图像并将其显示到列表视图中的应用程序 我遇到的问题是内存泄漏并使我的应用程序崩溃 我在 Android 博客中搜索这样的link http android developers blogspot com 2
  • 在 Chrome 29+ 中使用 CSS 变量

    我的 Chrome 浏览器刚刚从版本 28 切换到版本 29 切换后 我的 css3 代码在新版本中停止工作 我想知道是否有人知道如何解决该问题 而无需将我的浏览器设置回版本 28 更新 Chrome 30从 Chrome 29 过渡到 C
  • 根据一列获取两个数据表之间的差异

    我有以下场景 表 A 有 50 条记录 表 B 有 2 条记录 我需要定义一个新表 例如 TableDiff 它应包含表 A 中不存在于表 B 中的 48 条记录 我的问题是表 A 和表 B 不相同 但我有该字段rowId它存在于我需要使用
  • 在 Dart 中测试 unicode 字素簇相等性?

    像 这样的 unicode 字符可以通过两种方式表示为 UTF16 字符串 Dart 的本机实现 u00e9 u0065 u0301 e 组合变音符号 由于它们内部不同 测试字符串或符文的相等性将表明它们不相等 print u00e9 u0
  • 如何在Google排行榜中默认打开“全部”而不是“社交”?

    我已将 Google 排行榜集成到我的 Android 游戏应用程序中 当我打开它时 它默认进入 社交 模式 又名我的谷歌圈子 我需要手动切换到 全部 模式 来自世界各地的玩家 如何将 全部 模式设置为默认模式 有一个重载方法 它接受所有参
  • Angular 5 Http Interceptors 注入服务时出错

    在 Angular 5 中使用自定义 HttpInterceptors 时 我收到以下奇怪的依赖注入行为 下面的简化代码可以正常工作 export class AuthInterceptor implements HttpIntercept
  • 类“QueryDocumentSnapshot”没有实例方法“[]”。接收者:“QueryDocumentSnapshot”的实例尝试调用:[](“名称”)

    我正在尝试从 FireStore 检索这两个值 姓氏 test 字符串 姓名 Carlos 字符串 但是我收到这个错误 Another exception was thrown NoSuchMethodError Class QueryDo
  • ios10 iphone5s voip siphon pjsip2.5.5 打开声音设备时出错

    有人可以告诉我为什么会发生这种情况吗 iOS10 iPhone5s VOIP虹吸pjsip2 5 5 这些问题并不是每次都会出现 有时当你想拨打电话或接听电话时就会出现 添加于 20161226 打开声音设备时出错 14 06 03 137
  • Qt 属性语法的正确使用

    当我使用Q PROPERTY要定义一个属性 我确保继承自QObject并声明Q OBJECT宏位于类定义的开头 我这样声明属性 Q PROPERTY QString MyProp READ getMyProp WRITE setMyProp
  • Libgdx:将 2 个演员依次放置

    我使用 libgdx 的 scene2d 内置 UI 库在我的游戏中制作 UI 我很有趣 如何在一张桌子上绘制 2 个图像 或演员 我正在寻找类似的可绘制图层 http developer android com reference and
  • 错误:pandas 数字列上的代码因字符串格式错误而中断

    我正在一张桌子上阅读pandas 其中一列的日期格式为 YYYYMMMDD 到目前为止 在我的所有尝试中 它都是作为数字列读入的 我可以先用笨重的代码正确地消化它 尽管很慢 但随后当前版本会以我不理解的方式出现问题 所以 这有效 treat
  • iPhone 4 摄像头规格 - 视野/垂直-水平角度

    有人知道新 iPhone4 摄像头的视野值吗 我正在做一些 AR 应用程序 我想知道后置摄像头的水平和垂直角度 Thanks 如果传感器高 3 39 毫米 参考横向模式 则其一半为 1 695 毫米 iPhone 4 的焦距为 3 85 毫
  • 以下算法的时间复杂度是多少? [复制]

    这个问题在这里已经有答案了 有人能告诉我这个算法的时间复杂度是多少吗 请记住 第二个方法 findMax 根据其获取的索引在数组上运行 这意味着该方法 findMax 不会每次都在所有数组上运行 我认为这个算法的时间复杂度是 O n 但也许