-1
給定一個整數數組,對數組進行排序,以便數組的第一部分由奇數組成按升序排列,陣列的第二部分由偶數降序組成
例如, 輸入:5,3,6,8,1,7,2 輸出:1,3,5,7,8 ,6,2一個整數數組,數組的第一部分由奇數的升序組成,第二部分的偶數由大到小的順序排列
提前感謝!(JAVA)
給定一個整數數組,對數組進行排序,以便數組的第一部分由奇數組成按升序排列,陣列的第二部分由偶數降序組成
例如, 輸入:5,3,6,8,1,7,2 輸出:1,3,5,7,8 ,6,2一個整數數組,數組的第一部分由奇數的升序組成,第二部分的偶數由大到小的順序排列
提前感謝!(JAVA)
這可以在O(nlogn)
完成。首先用O(nlogn)
中的任何排序算法對整個數組進行排序。所以你得到1 2 3 5 6 7 8
。
創建一個新的數組。然後從第一個元素開始穿過數組。如果它奇怪的地方在陣列的開始,如果它是偶然然後把它放在最後:
int i = 0, j = n - 1;
for(int k = 0; k < n; k++)
{
if(oldarray[k] % 2 == 1)
newarray[i++] = oldarray[k];
else
newarray[j--] = oldarray[k];
}
StackOverflow是不是一個地方讓人們做你的功課。 – Han
你甚至都不知道你正在使用的語言。如果你想使用Python,請記住排序函數接受一個鍵作爲按照任意順序排序的參數。 –