Problem:
Given an array of ints of even length, return a new array length 2 containing the middle two elements from the original array. The original array will be length 2 or more.
makeMiddle({1, 2, 3, 4}) → {2, 3}
makeMiddle({7, 1, 2, 3, 4, 9}) → {2, 3}
makeMiddle({1, 2}) → {1, 2}
Solution:
public int[] makeMiddle(int[] nums) { return new int[]{ nums[nums.length/2 -1], nums[nums.length/2]}; }
public int[] makeMiddle(int[] nums) {
ReplyDeleteint mid = nums.length / 2;
int[] middle = { nums[mid-1], nums[mid] };
return middle;
}
public int[] makeMiddle(int[] nums) {
ReplyDeleteif(nums.length <= 2) return nums;
int middleIndx = (nums.length/2)-1;
return new int[] {nums[middleIndx],nums[middleIndx+1]};
}
public int[] makeMiddle(int[] nums) {
ReplyDeleteint[] newArr = new int[2];
if (nums.length == 2)
return nums;
else
newArr[0] = nums[nums.length / 2 - 1];
newArr[1] = nums[nums.length / 2];
return newArr;
}
public int[] makeMiddle(int[] nums) {
ReplyDeleteint a[]=new int[2];
a[0]=nums[(nums.length/2)-1];
a[1]=nums[nums.length/2];
return a;
}