技术文章和资源

技术文章(时间排序)

热门类别

Python PHP MySQL JDBC Linux

Python - 每个记录值列表中的最小值

pythonserver side programmingprogramming

问题陈述说我们必须找到每个记录值列表中存在的最小值。因此,在本文中,我们将看到查找每个记录中最小值的不同方法。

理解问题

在给定的问题中,我们需要找到每个子数组的最小值。例如:假设我们有一个数组 [[8,10,12], [12, 14, 16], [17, 18, 19]],因此在这个例子中,我们可以看到每个子数组的最小值是 8、12、17,因为这些数组是排序形式。所以所需的结果应该是 [8, 12, 17]。但我们必须从每个未排序的子数组中找到最小值。为了解决这个问题,我们将使用 Python 的不同方法和技术。

上述问题的逻辑

为了解决和理解给定的问题,首先我们将从给定的数组中找到最小值。为了从给定的数组中找到最小值,我们可以使用 min 函数,它是 Python 中存在的内置方法,用于从列表或数组中获取最小值。

在第二种方法中,我们将使用 for 循环来查找并附加给定子数组的最小值。

在第三种方法中,我们将使用带有 min 函数的 map 方法以获得所需的结果。

算法 - 在数组中使用 min 函数

  • 步骤 1 - 在第一步中,我们需要创建一个名为 min_in_record 的函数。此函数还接受一个名为 record 的参数,用于记录项目。

  • 步骤 2 - 由于我们已经定义了函数,因此现在我们将使用 min 函数查找数组中存在的最小值并将其返回以显示在输出中。

  • 步骤 3 - 现在我们将使用 print 方法在控制台上显示所需的结果。

示例

def min_in_record(record):
	# 返回最小值
   return min(record)
record = [[81,102,123], [124, 145, 166], [177, 188, 199]]

print("在记录中找到的最小值 - ", min_in_record(record))

输出

在记录中找到的最小值 - [81, 124, 177]

算法 - 使用 for 循环

  • 步骤 1 - 因为我们必须在此算法中使用 for 循环找到每个子数组中的最小值。所以首先我们将初始化具有子数组的数组并将其命名为 record。

  • 步骤 2 - 定义数组后,我们需要初始化一个名为 min_items 的空数组块。此数组将存储上述数组中存在的每个子数组的最小值。

  • 步骤 3 - 现在我们将使用 for 循环遍历给定的输入数组。在此循环中,我们将首先使用 min 函数获取每个子数组的最小值,并将该值存储在名为 min_item 的单独变量中。

  • 步骤 4 - 在每个子数组中找到 min_item 后,我们将这些值附加到上面创建的数组中以存储最小值。

  • 步骤 5 - 在最后一步中,我们将打印 min_items 的值。

示例 - 使用 for 循环

record = [[81,102,123], [124, 145, 166], [177, 188, 199]]

#初始化一个空数组来存储最小值
min_items = []

#迭代数组项
for rec in record:
   min_item = min(rec)
   min_items.append(min_item)
#打印所需结果
print(min_items)

输出

[81, 124, 177]

算法 - 使用 map 函数

  • 步骤 1 - 在该算法中,我们将使用 map 函数,因此首先我们将定义一个包含子数组的数组并将其命名为 record。

  • 步骤 2 - 定义数组后,我们将使用 map 函数映射数组中存在的所有项目,借助 min 函数,我们将获得每个子数组的最小值,获得最小元素后,我们将使用 Python 中的 list 关键字将其转换为列表。将结果存储在 min_items 变量中。

  • 步骤 3 − 在最后一步中,我们将使用 min_items 打印结果。

示例 - 使用 map 函数

#初始化具有子数组的数组
record = [[81,102,123], [124, 145, 166], [177, 188, 199]]
#从数组中查找最小项列表
min_items = list(map(min, record))

print(min_items)

输出

[81, 124, 177]

复杂度

查找每个记录值列表中的最小值的时间复杂度为 O(n * m),这里 n 是给定数组的长度,m 是子数组的长度。由于所有方法都迭代给定数组的项目 n * m 次,因此最终复杂度为 O(n * m)。上述算法的空间复杂度为 O(n),因为主数组的大小为 n,并且我们存储每个子数组的最小值。

结论

因此结论是,我们已经成功地创建了使用 Python 以不同方式获取每个记录中最小值的方法。我们使用了 Python 的各种内置方法,如 min、map、append 以及 for 循环。


相关文章