不改變正負數相對順序重新排列陣列

2021-06-05 07:40:50 字數 916 閱讀 4788

class program

", posinum, neganum);

int index = 0;

int opercount = 1;

int maxnum = 0;

for (int i = 0; i < numofnum; i++)

if (math.abs(inputarray[i]) > maxnum)

maxnum = math.abs(inputarray[i]);

maxnum++;

int posiposi = 0;

int negaposi = 0;

for (int i = 0; i < numofnum; i++)

if (inputarray[i] > 0)

else

index = 0;

while (index < posinum + neganum)

index++;

}for (int i = 0; i < numofnum; i++)

if (i < neganum)

", inputarray[i]-(i+2)*maxnum);

}else

console.writeline("", inputarray[i] - (i + 1) * maxnum);

console.readline();

}static int getnum(string s)

return sum*sign;

}}

乙個未排序整數陣列,有正負數,重新排列使負數排在正數前面,並且要求不改變原來的正負數之間相對順序。

比如: input: 1,7,-5,9,-12,15 ,ans: -5,-12,1,7,9,15 。且要求時間複雜度o(n),空間o(1) 。

不改變正負數相對順序重新排列陣列

看到網上乙個解法,空間複雜度o 1 時間複雜度o nlogn 做乙個小演算法題,提提神 乙個未排序整數陣列,有正負數,重新排列使負數排在正數前面,並且要求不改變原來的正負數之間相對順序。思考的過程就略去了,直接說結果吧。我想到的演算法,空間複雜度為o 1 時間複雜度為o n logn 首先,定義這樣...

大數相加(分正負數)

給出2個大整數a,b,計算a b的結果。input 第1行 大數a 第2行 大數b a,b的長度 10000 需注意 a b有可能為負數 output 輸出a b sample input68932147586 468711654886sample output537643802472 includ...

不改變相對順序,負數左邊正數右邊

不改變正負數之間的相對順序重新排列陣列,使得負數字於正數之前 1 舉例 如 1,7,5,2,9,3變成 5,9,1,7,2,3 2 方法一 從頭到尾掃瞄陣列,每次碰到乙個正數時,就把位於這個數字之後的所有數字到往前挪動一位。挪動之後在陣列的末尾有乙個空位,把這個正數填進去。整體的時間複雜度為o n ...