轉換陣列使奇數字為奇數 偶數字為偶數

2021-07-09 12:06:21 字數 376 閱讀 2097

設定 odd even兩個標誌位為odd為1,even為0,然後從最後一位開始看,如果說最後一位為偶數,就和even位交換,even自增2,如果是奇數,則和odd位交換,odd自增2,一直到二者其中乙個越界位置。   解法比較奇特。

#include#include #include using namespace std;

//改變陣列,令其奇數字置儲存奇數,偶數字置儲存偶數

//要求空間複雜度為o(1),時間複雜度為o(n)

int a=;

void changearray(int len)

{ int end=a[len-1];

int even=0;

int odd=1;

while(even

奇數下標為奇數偶數下表為偶數

給定乙個長度不小於2的陣列arr,實現乙個函式調整arr,要麼讓所有的偶數下標都是偶數,要麼讓所有的奇數下標都是奇數 注意 1 陣列下標從0開始!2 本題有special judge,你可以輸出任意一組合法解!同時可以證明解一定存在 要求 時間複雜度為o n o n 額外空間複雜度為o 1 o 1 ...

new 調整奇數偶數順序使奇數字於偶數前面

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。public class solution for int i 0 ifor int i 0 i public class solu...

演算法題 奇數字放奇數偶數字放偶數

今天面試遇到這樣一道題,乙個長度為2n的整數陣列,裡邊有n個奇數n個偶數但是無序,要求奇數字放奇數偶數字放偶數 結題思路 採用雙指標分別記錄奇數字和偶數字,當偶數字的值錯誤的時候如果奇數錯誤的index不為空則交換數值,如果為空則將index記錄下來。奇數同理 public static void ...