0

我正在研究 Python 编程面试的元素,我正在尝试为数组章节中的第一个问题找到替代解决方案。这个想法是,您要编写一个程序,将数组 A 和索引 i 放入 A 并重新排列元素,使得所有小于 A[i] 的元素首先出现,然后是等于枢轴的元素,然后是大于枢。在书中,他们已经提供了一个解决方案,但我正试图找出一个替代方案。简而言之,我正在为每个方面创建子数组,例如小于、等于和大于 A[i]。现在我正在存储小于枢轴的 A 的整数值。我想遍历 A 的列表并将所有小于枢轴的元素的值存储在较小的(变量)中。这个想法是最终返回变量更小,它将包含所有小于枢轴的值。为了检查我的工作,我使用了 print 函数来检查较小的值。它存储的每次迭代都小于该变量中的枢轴。理想情况下,使用这种方法我只想返回较小变量的最终迭代,而不是每次迭代。我的下一步应该是什么?希望这是有道理的,我真的不介意详细说明任何部分。提前致谢。我的下一步应该是什么?希望这是有道理的,我真的不介意详细说明任何部分。提前致谢。我的下一步应该是什么?希望这是有道理的,我真的不介意详细说明任何部分。提前致谢。

def properArray(pivot_index, A):
    pivot = A[pivot_index]
    smaller = []
    for i in range(len(A)):
        if A[i] < pivot:
            smaller.append(A[i])
            print (smaller)

resized_array =properArray
resized_array(3, [1,5,6,9,3,4,6])
4

1 回答 1

0

我想这就是你想要达到的目标

def properArray(pivot_index, A):
     pivot = A[pivot_index]
     smaller = []
     for i in range(len(A)):
         if A[i] < pivot:
             smaller.append(A[i])
     print (smaller)

resized_array =properArray
resized_array(3, [1,5,6,9,3,4,6])

而不是在每次迭代时打印smaller数组,您需要在 for 循环完成后打印一次

于 2021-11-11T20:39:05.220 回答