Avatar of gudii9
gudii9
Flag for United States of America asked on

triangle challenge

Hi,

I am working on below challenge

http://codingbat.com/prob/p194781

Recursion-1 > triangle
prev  |  next  |  chance
We have triangle made of blocks. The topmost row has 1 block, the next row down has 2 blocks, the next row has 3 blocks, and so on. Compute recursively (no loops or multiplication) the total number of blocks in such a triangle with the given number of rows.

triangle(0) → 0
triangle(1) → 1
triangle(2) → 3

i have not understood above description.
what is row and what is block and how they are related to triange and what we have to return
Can you please advise
JavaJava EEProgrammingGame ProgrammingSmartphone Programming

Avatar of undefined
Last Comment
gudii9

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
rrz

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
gudii9

ASKER
i understood now with above image.

public int triangle(int rows) {
  if(rows==1){
    return 1;
  }
  return rows+triangle(rows-1);
}

Open in new window

above fails one test case

xpected      Run            
triangle(0) → 0      Exception:java.lang.StackOverflowError (line number:2)      X      
triangle(1) → 1      1      OK      
triangle(2) → 3      3      OK      
triangle(3) → 6      6      OK      
triangle(4) → 10      10      OK      
triangle(5) → 15      15      OK      
triangle(6) → 21      21      OK      
triangle(7) → 28      28      OK      
other tests
how to decide base case begin with 0 or with 1. it is failing 0 case now
rrz

how to decide base case begin with 0
Just do the same with base case with 0 instead of 1.
gudii9

ASKER
with one failing one.

with 0 base case all passing

public int triangle(int rows) {
  if(rows==0){
    return 0;
  }
  return rows+triangle(rows-1);
}

Open in new window

Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes