大O符号O(NM)或(N^2)

编程入门 行业动态 更新时间:2024-10-22 16:42:45
本文介绍了大O符号O(NM)或(N^2)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我被告知下面的代码是=O(MN),但是,我得到了O(N^2)。哪一项是正确答案?为什么?

我的思维过程: 嵌套的for循环加上if语句-->(O(N^2)+O(1))+(O(N^2)+O(1))=O(N^2)

谢谢

public static void zeroOut(int[][] matrix) { int[] row = new int[matrix.length]; int[] column = new int[matrix[0].length]; // Store the row and column index with value 0 for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[0].length;j++) { if (matrix[i][j] == 0) { row[i] = 1; column[j] = 1; } } } // Set arr[i][j] to 0 if either row i or column j has a 0 for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[0].length; j++) { if ((row[i] == 1 || column[j] == 1)){ matrix[i][j] = 0; } } } } 推荐答案

M和N指的是什么?我的假设是它分别指"行"和"列"。如果是这样,则方程为O(MN),因为您循环了M个N次。

如果行和列相等,则O(N^2)将是正确的。

更多推荐

大O符号O(NM)或(N^2)

本文发布于:2023-11-29 16:37:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1646963.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:符号   NM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!