Java > Recursion-1 > array6 (CodingBat Solution)

Problem:

Given an array of ints, compute recursively if the array contains a 6. We'll use the convention of considering only the part of the array that begins at the given index. In this way, a recursive call can pass index+1 to move down the array. The initial call will pass in index as 0.

array6({1, 6, 4}, 0) → true
array6({1, 4}, 0) → false
array6({6}, 0) → true


Solution:

public boolean array6(int[] nums, int index) {
  if (index >= nums.length) return false;
  if (nums[index] == 6) return true;
  else return array6(nums, index+1);
}

3 comments:

  1. public boolean array6(int[] nums, int index) {
    if (index < nums.length)
    return nums[index] == 6 ? true : array6(nums, ++index);
    return false;
    }

    ReplyDelete
  2. public boolean array6(int[] nums, int index) {
    for( int i = index; i < nums.length; i++)
    {
    if ( nums[index] == 6)
    return true;
    else return array6(nums, index+1);
    }
    return false;
    }

    ReplyDelete
  3. public boolean array6(int[] nums, int index) {
    if (index >= nums.length)
    return false;

    return nums[index]==6 || array6(nums, index+1);
    }

    ReplyDelete