Problem:
Given an array of ints, return the number of times that two 6's are next to each other in the array. Also count instances where the second "6" is actually a 7.
array667({6, 6, 2}) → 1
array667({6, 6, 2, 6}) → 1
array667({6, 7, 2, 6}) → 1
Solution:
public int array667(int[] nums) { int count=0; for (int i = 0 ; i < nums.length-1;i++) { if (nums[i] == 6){ if (nums[i+1] == 6 || nums[i+1] == 7) count++; } } return count; }
With Java Stream
ReplyDeletepublic static int array667(int[] nums) {
long count = IntStream.range(0, nums.length - 1)
.filter(i -> nums[i] == 6 && nums[i + 1] == 6 || nums[i + 1] == 7)
.count();
return (int)count;
}