培训教育学校的网站建设方案,网站建设公司软件开,网站外包 多少钱,白云区做网站文章目录1. 题目2. 解题1. 题目
给定一个嵌套的整数列表#xff0c;请返回该列表按深度加权后所有整数的总和。
每个元素要么是整数#xff0c;要么是列表。同时#xff0c;列表中元素同样也可以是整数或者是另一个列表。
示例 1:
输入: [[1,1],2,[1,1]]
输出: 10
解释:…
文章目录1. 题目2. 解题1. 题目
给定一个嵌套的整数列表请返回该列表按深度加权后所有整数的总和。
每个元素要么是整数要么是列表。同时列表中元素同样也可以是整数或者是另一个列表。
示例 1:
输入: [[1,1],2,[1,1]]
输出: 10
解释: 因为列表中有四个深度为 2 的 1 和一个深度为 1 的 2。示例 2:
输入: [1,[4,[6]]]
输出: 27
解释: 一个深度为 1 的 1一个深度为 2 的 4一个深度为 3 的 6。
所以1 4*2 6*3 27。来源力扣LeetCode 链接https://leetcode-cn.com/problems/nested-list-weight-sum 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
类似题目LeetCode 364. 加权嵌套序列和 II重复叠加
/*** // This is the interface that allows for creating nested lists.* // You should not implement it, or speculate about its implementation* class NestedInteger {* public:* // Constructor initializes an empty nested list.* * NestedInteger();** // Constructor initializes a single integer.* * NestedInteger(int value);** // Return true if this NestedInteger holds a single integer, rather than a nested list.* * bool isInteger() const;** // Return the single integer that this NestedInteger holds, if it holds a single integer* // The result is undefined if this NestedInteger holds a nested list* * int getInteger() const;** // Set this NestedInteger to hold a single integer.* * void setInteger(int value);** // Set this NestedInteger to hold a nested list and adds a nested integer to it.* * void add(const NestedInteger ni);** // Return the nested list that this NestedInteger holds, if it holds a nested list* // The result is undefined if this NestedInteger holds a single integer* * const vectorNestedInteger getList() const;* };*/
class Solution {int ans 0;
public:int depthSum(vectorNestedInteger nestedList) {if(nestedList.empty()) return 0;dfs(nestedList,1);return ans;}void dfs(vectorNestedInteger nestedList, int deep){for(int i 0; i nestedList.size(); i){if(nestedList[i].isInteger())ans nestedList[i].getInteger() * deep;elsedfs(nestedList[i].getList(),deep1);}}
};4 ms 8.3 MB 长按或扫码关注我的公众号一起加油、一起学习进步