Solved

countClumps  challenge

Posted on 2016-08-14
10
113 Views
Last Modified: 2016-08-17
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
0
Comment
Question by:gudii9
  • 4
  • 4
10 Comments
 
LVL 37

Expert Comment

by:Gerwin Jansen
ID: 41756126
gudii9 - where are you from, what is your native language?
0
 
LVL 37

Accepted Solution

by:
Gerwin Jansen earned 500 total points
ID: 41756128
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
 
LVL 7

Author Comment

by:gudii9
ID: 41756451
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
 
LVL 37

Expert Comment

by:Gerwin Jansen
ID: 41756540
Yes, one clump of 1's
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 7

Author Comment

by:gudii9
ID: 41758651
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
 
LVL 7

Author Comment

by:gudii9
ID: 41759619
just thinking any other possible simple solutions/approaches for this? or any improvements, modifications, optimization to my code above?
0
 
LVL 37

Expert Comment

by:Gerwin Jansen
ID: 41759689
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
 
LVL 7

Author Comment

by:gudii9
ID: 41760276
yes definitely
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
How to parse custom JSON to POJO java 4 56
what is a "java.lang.System Property"   ? 20 57
Way to decrease size of apk file 9 45
expectj telnet failing 5 26
Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
Computer science students often experience many of the same frustrations when going through their engineering courses. This article presents seven tips I found useful when completing a bachelors and masters degree in computing which I believe may he…
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now