给定一个正数和负数的数组,对它们进行排列,使所有负整数出现在数组中所有正整数之前。应维持出场秩序。
null
例如:
Input : arr[] = [12, 11, -13, -5, 6, -7, 5, -3, -6] Output : arr[] = [-13, -5, -7, -3, -6, 12, 11, 6, 5] Input : arr[] = [-12, 11, 0, -5, 6, -7, 5, -3, -6] Output : arr[] = [-12, -5, -7, -3, -6, 11, 0, 6, 5]
这个问题有很多解决方案,请参考 重新排列正数和负数 链接,但我们将使用python中的单行代码解决这个问题 Lambda表达式 .
# Function to rearrange positive and negative elements def Rearrange(arr): # First lambda expression returns list of negative numbers # in arr. # Second lambda expression returns list of positive numbers # in arr. return [x for x in arr if x < 0 ] + [x for x in arr if x > = 0 ] # Driver function if __name__ = = "__main__" : arr = [ 12 , 11 , - 13 , - 5 , 6 , - 7 , 5 , - 3 , - 6 ] print (Rearrange(arr)) |
输出:
arr[] = [-13, -5, -7, -3, -6, 12, 11, 6, 5]
本文由 沙申克·米什拉(古卢) .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END