해결하려고하는 문제는 다음과 같습니다. -배열에서 두 요소를 어떻게 바꿀 수 있습니까?
int 길이가 3 인 배열이 주어진다면, {1, 2, 3}은 {2, 3,
public int[] rotateLeft3(int[] nums) {
for(int i=0;i<2;i++)
swap(nums[i],nums[i+1]);
return nums;
}
public void swap(int a,int b)
{
int temp = a;
a = b;
b= temp;
}
그러나, 그것은 성공적으로 실행되고 있지 않습니다 - : 1}
다음 코드를 내놓았다. C++의 경우 인수를 인수로 전달할 수 있었고 문제가 정렬 된 이유는 무엇입니까?
다음 코드는 작동 : -
public int[] rotateLeft3(int[] nums) {
int temp = nums[0];
nums[0] = nums[1];
nums[1] = temp;
temp = nums[1];
nums[1] = nums[2];
nums[2] = temp;
return nums;
}
하지만이 코드는 완전한 무차별 쓰기이고 나는 그것을 매우 좋아하고 있지 않다. 첫 번째 접근법을 어떻게 만들 수 있는지 제안 해 주시겠습니까?
삽입 정렬에 사용 된 것과 동일한 논리 (요소 이동)입니다. 나는 이것도 사용할 수 있었다. – kusur