有乙個已排序的陣列,但是其中有兩個元素被交換了位置,你的任務就是恢復它們,使陣列重新有序。
例如 輸入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 時間複雜度內求出,那麼陣...