For further help with Coding Bat (Java), please check out my books. I am also available for tutoring.
The Array-1 section of CodingBat contains 27 basic array exercises, most of which are very simple. In the following three posts I’ll present my solutions. Just like it was the case with the String-1 section, there isn’t much to comment on.
All solutions were successfully tested on 27 January 2013.
firstLast6:
public boolean firstLast6(int[] nums) { return nums[0] == 6 || nums[nums.length - 1] == 6; }
sameFirstLast:
public boolean sameFirstLast(int[] nums) { return nums.length >= 1 && nums[0] == nums[nums.length - 1]; }
makePi:
public int[] makePi() { int[] pie = { 3, 1, 4 }; return pie; }
commonEnd:
public boolean commonEnd(int[] a, int[] b) { return a[0] == b[0] || a[a.length - 1] == b[b.length - 1]; }
sum3:
public int sum3(int[] nums) { return nums[0] + nums[1] + nums[2]; }
rotateLeft3:
public int[] rotateLeft3(int[] nums) { int[] rLeft = { nums[1], nums[2], nums[0] }; return rLeft; }
reverse3:
public int[] reverse3(int[] nums) { int[] newOrder = { nums[2], nums[1], nums[0] }; return newOrder; }
maxEnd3:
public int[] maxEnd3(int[] nums) { if (nums[2] > nums[0]) { nums[0] = nums[2]; nums[1] = nums[2]; } else { nums[1] = nums[0]; nums[2] = nums[0]; } return nums; }
sum2:
public int sum2(int[] nums) { if (nums.length == 0) return 0; if (nums.length == 1) return nums[0]; return nums[0] + nums[1]; }
middleWay:
public int[] middleWay(int[] a, int[] b) { int[] c = { a[1], b[1] }; return c; }
For further help with Coding Bat (Java), please check out my books. I am also available for tutoring.
This should also work perfectly fine:
int maxi= Math.max(nums[0],nums[2]);
nums[0]=maxi;nums[1]=maxi;nums[2]=maxi;
return nums;
middleWay:
int na[]=new int[2];
na[0]=a[1];
na[1]=b[1];
return na;
This does work, too, but what’s the point of your much more verbose code? I don’t see why you wouldn’t want to initialize the array with the correct values, which is what I’ve done in my solution above.
What does int mean?
“int” is one of the primitive data types in the Java. It stands for “integer”, and the range of an “int” is [-2^31, (2^31) – 1].
I feel a little dumb right now.
In the first exercise why does it need to be:
nums[nums.length-1]
why not just:
nums.length-1
Ok i just realized.
I am an idiot
yeah you are an idiot