C++程序 计算最小正整数数组两个数的乘积
给定一个正整数数组。让我们编写一个程序来打印给定数组中任意两个数字的最小乘积。
例子:
简单方法: 一个简单的方法是运行两个嵌套循环以生成所有可能的元素对,并跟踪最小乘积。
时间复杂度:O(n ^ 2)
辅助空间:O(1)
更好的方法: 一个高效的方法是首先对给定数组进行排序,并打印出前两个数字的乘积,排序将花费O(n log n) 的时间。答案将是a[0] * a[1]。
输出
时间复杂度:O(n log(n))
辅助空间:O(1)
最佳方法: 这个想法是线性遍历给定的数组并跟踪最小的两个元素。最后返回两个最小元素的乘积。
下面是上述方法的实现。
输出
时间复杂度:O(n)
辅助空间:O(1)