给定一组正整数和负整数,将一侧的所有正整数和一侧的所有负整数分组数字的顺序应该与它们出现的顺序相同。
例子:
数组={1,-3,-5,9,-8}
O/P={-3,-5,-8,1,9}
我不认为使用额外的空间是对这个问题的挑战,因为你可以简单地循环并填充新数组挑战是在不占用额外空间的情况下就地完成这个问题是我朋友问的。
(我想用两个指针来解决这个问题,并交换正负等,但很快元素的相对顺序似乎就混乱了)
有什么建议吗?
最佳答案
这感觉像家庭作业,所以我给你一个提示。
应用stable sort。
稳定的排序算法用相等的键保持记录的相对顺序。
作为相等性测试,不要使用数字的实际值相反,考虑任何正数等于任何其他正数,而任何负数等于任何其他负数。