恢復交換兩個元素的排序陣列

2021-09-11 23:37:51 字數 561 閱讀 5051

有乙個已排序的陣列,但是其中有兩個元素被交換了位置,你的任務就是恢復它們,使陣列重新有序。

例如 輸入nums=[1,2,4,3,5,6],輸出應該為【1,2,3,4,5,6】。

public class recoversortedarray 

int first = -1;

int second = -1;

for(int i = 0; i < nums.length - 1; ++i) else }}

int num = nums[first];

nums[first] = nums[second];

nums[second] = num;

return nums;

}public static void main(string args) ;

recoversortedarray rsa = new recoversortedarray();

system.out.println(arrays.tostring(rsa.recover(nums)));

}}

交換陣列中兩個元素的位置

簡單的交換陣列中倆個元素的位置,交換後為.同樣交換倆個數字,比如這樣的 public static void swap int a,int b 然後再列印的話,實際上是交換不了的。因為此時的 a,b只是形參,我們知道形參的改變不會影響實參的變化,因此交換不了。那麼為什麼陣列可以交換呢,讓我們來看一下...

165 合併兩個排序陣列

原題 您在真實的面試中是否遇到過這個題?是 標籤鍊錶 思路 逐個比較l1與l2的結點,將較小的掛載在結果鍊錶上。小技巧 可以建立乙個資料無效的結點作為標誌頭節點,返回其next。ac definition of singly linked list class listnode class solu...

兩個排序陣列的中位數

求兩個排序陣列中位數,這道題是很有意思的一道題目,演算法導論中9.3 8題,這題必須在o logn 的時間複雜度求解,否則肯定悲劇。這題有個關鍵的條件,那就是這兩個陣列長度相等 思路如下 陣列a 1,3,5,7,9 陣列b 2,4,6,8,10 首先取二者的中位數,在o 1 時間複雜度內求出,那麼陣...