Good evening! Here's our prompt for today.
When preparing for an interview, you should be familiar with fundamental graph traversal techniques because they are frequently used in technical interviews. As we live in an interconnected society with no isolated piece of information, the use of graphs is becoming more widespread. Today's prompt has one such graph traversal technique, Depth first search (DFS).
Prompt
You are given a nested list of integers nestedList
. Each element is either an:
- integer, or
- a list whose elements may also be integers, or other lists
The depth of an integer is the number of lists that it is inside of. For example, the nested list [1,[2,2],[[3],2],1]
has each integer's value set to its depth.
Return the sum of rach integer in nestedList
by its depth.
Expected Inputs and Outputs
Example 1
1Input: [[1,1],2,[1,1]]
2Output: 10
Explanation: Four 1
's at depth 2, one 2
at depth 1.

Example 2
1Input: [1,[4,[6]]]
2Output: 27

Explanation: One 1
at depth 1, one 4
at depth 2, and one 6
at depth 3; 1 + 4*2 + 6*3 = 27
.
Constraints
nestedList.length <= 50
- The values of the
integers
in the nested list is in the range[-100, 100]
. - The
maximum depth
of any integer is less than or equal to50
.
Try to solve this here or in Interactive Mode.
How do I practice this challenge?
xxxxxxxxxx
class nestedListWeightSum{
// Add your code here
}
​
function tests() {
s = new nestedListWeightSum();
var assert = require('assert');
let pass = 0;
​
try {
assert.equal(s.depthSum([[1, 1], 2, [1, 1]]), 10);
console.log( 'Test1 - PASSED: ' + "`depthSum([[1, 1], 2, [1, 1]])` should return `10`");
pass += 1;
} catch (err) {
console.log(err);
}
​
try {
assert.equal(s.depthSum([1, [4, [6]]]), 27);
console.log( 'Test2 - PASSED: ' + "`depthSum([1, [4, [6]]])` should return `27`");
pass += 1;
} catch (err) {
console.log(err);
}
​
try {
assert.equal(s.depthSum([0]), 0);
console.log( 'Test3 - PASSED: ' + "`depthSum([0])` should return `0`");
pass += 1;
We'll now take you through what you need to know.
How do I use this guide?
Access all course materials today
The rest of this tutorial's contents are only available for premium members. Please explore your options at the link below.