繁体   English   中英

数组重新排列。 都小于 a 左边的 a。 a 的右边都大于 a

[英]Array rearrange. All lesser than a on the left of a. All greater than a on the right of a

我想重新排列我的数组A ,以便列表中大于某个任意数字a的所有元素都在a的右侧,并且所有小于a 的元素都将在a的左侧。

例子

A = [4,5,1,2]
a = A[0] #4

Output:

[1,2,4,5]
or
[2,1,4,5]

我试图从左右 go 分别找到数字 >= a和 <= a 一旦找到,我会切换这些数字。

这是一个 python function 它给你 output 正如你所期望的那样

# here A is list, and a is A[x]
def arrangeit(A, a):
    finalLst = [a]
    for i in A:
        if(i < a):
            finalLst = [i] + finalLst
        if(i > a):
            finalLst.append(i)

    return finalLst

A = [4,5,1,2]
a = A[0] #4

print(arrangeit(A, a))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM