Instructions
Given a triangle of consecutive odd numbers:
1
3 5
7 9 11
13 15 17 19
21 23 25 27 29
find the triangle's row knowing its index (the rows are 1-indexed), e.g.:
odd_row(1) == [1]
odd_row(2) == [3, 5]
odd_row(3) == [7, 9, 11]
Note: your code should be optimized to handle big inputs.
My solution:
function oddRow(n) {
let first = 1;
for(let i = 1; i<n; i++){
first+=i*2
}
let r = [first];
for(let i = 1; i<n; i++){
r.push(first+=2)
}
return r
}
Explanation
First I got the first value of the row that I'm searching on, I did this by using a for loop that will iterate the number of rows, and in every iteration I changed the value of the var "first" by adding 2 to it and revaluing it.
for(let i = 1; i<n; i++){
first+=i*2
}
After that with that value I made the variable "r" that will contain the result that will be returned, inside of it I stored the first number of the row
let r = [first];
After that I used another loop and inside of it, I pushed every value after the first plus 2, and at the end I just returned "r"
for(let i = 1; i<n; i++){
r.push(first+=2)
}
return r
What do you think about this solution? 👇🤔
Top comments (0)