countClumps challenge

Hi,

I am working on below challenge

http://codingbat.com/prob/p193817


Say that a "clump" in an array is a series of 2 or more adjacent elements of the same value. Return the number of clumps in the given array.

countClumps([1, 2, 2, 3, 4, 4]) → 2
countClumps([1, 1, 2, 1, 1]) → 2
countClumps([1, 1, 1, 1, 1]) → 1

i am not clear on the description of the challenge. please advise
LVL 7
gudii9Asked:
Who is Participating?
 
Gerwin Jansen, EE MVEConnect With a Mentor Topic Advisor Commented:
You have to count blocks of the same numbers.

1 1 1 2 3 3 4 5 contains 2 blocks (numbers 1 and numbers 3)
0
 
Gerwin Jansen, EE MVETopic Advisor Commented:
gudii9 - where are you from, what is your native language?
0
 
gudii9Author Commented:
countClumps([1, 2, 2, 3, 4, 4]) → 2//this is clear as it has one 2's clump and one other 4's clump
countClumps([1, 1, 2, 1, 1]) → 2//this is clear
countClumps([1, 1, 1, 1, 1]) → 1//how it is 1?
is it because it has one clump of 5 1's in it?
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
Gerwin Jansen, EE MVETopic Advisor Commented:
Yes, one clump of 1's
0
 
gudii9Author Commented:
public int countClumps(int[] nums) {
  int counter=0;
  boolean flag=false;
  for(int i=0;i<nums.length-1;i++){
    if(nums[i]==nums[i+1]&&!flag){
      flag=true;
      counter++;
    }
    else if(nums[i]!=nums[i+1]){
      flag=false;
    }
  }
  return counter;
}

Open in new window


above passes all tests.
basically checking i with i+1  and making flag to true and repeat in if loop then in else check for inequality and make flag false there
1
 
gudii9Author Commented:
just thinking any other possible simple solutions/approaches for this? or any improvements, modifications, optimization to my code above?
0
 
Gerwin Jansen, EE MVETopic Advisor Commented:
Can't think of an easier way, if you want a different way then you have to write different pseudo code first. But it works and passes the tests so you've learned some here right?
0
 
gudii9Author Commented:
yes definitely
0
All Courses

From novice to tech pro — start learning today.