CodingBat: Java. Array-1, Part I


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.


8 thoughts on “CodingBat: Java. Array-1, Part I

  1. mayhs

    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;

    Reply
    1. Gregor Ulm Post author

      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.

      Reply
    1. Gregor Ulm Post author

      “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].

      Reply
  2. John Doe

    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

    Reply

Leave a Reply to Frank Shepherd Cancel reply

Your email address will not be published. Required fields are marked *

Spammer prevention; the answer is an integer: * Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.