0
基本上我有一個這樣的簡單問題,我有麻煩搞清楚。我知道如何洗牌,但並不確定如何讓它專門洗牌,像一個背部。混洗陣列一後
的問題是:
陣列(它是完全組裝)被用作環形緩衝器。在JAVA中編寫一段代碼片段,將數組中的所有元素都轉換回來,並將最後一個元素移動到旋轉數組的前面。 (無輸出)
實施例1:
INT []數組=新INT [] {1,2,3}; 數組將變爲{3,1,2}
謝謝!
基本上我有一個這樣的簡單問題,我有麻煩搞清楚。我知道如何洗牌,但並不確定如何讓它專門洗牌,像一個背部。混洗陣列一後
的問題是:
陣列(它是完全組裝)被用作環形緩衝器。在JAVA中編寫一段代碼片段,將數組中的所有元素都轉換回來,並將最後一個元素移動到旋轉數組的前面。 (無輸出)
實施例1:
INT []數組=新INT [] {1,2,3}; 數組將變爲{3,1,2}
謝謝!
public int[] shiftLeft(int[] nums) {
if (nums == null || nums.length <= 1) {
return nums;
}
int start = nums[0];
System.arraycopy(nums, 1, nums, 0, nums.length - 1);
nums[nums.length - 1] = start;
return nums;
}
// 1,2,3
// 3,2,1
// 3,1,2
public int[] swapLastIndex(int[] array) {
if(array.length < 2) return array;
for(int i=0; i<array.length; i++)
swap(i, array.length-1);
return array;
}
private void swap(int x, int y) {
int tmp = array[x];
array[x] = array[y];
array[y] = tmp;
}
這聽起來像移位,不混洗。 – shmosel