国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Leetcode-Algorithms Nested List Weight Sum

2019-11-08 02:07:58
字體:
來源:轉載
供稿:網友

Given a nested list of integers, return the sum of all integers in the list weighted by their depth.

Each element is either an integer, or a list – whose elements may also be integers or other lists.

Example 1: Given the list [[1,1],2,[1,1]], return 10. (four 1’s at depth 2, one 2 at depth 1)

Example 2: Given the list [1,[4,[6]]], return 27. (one 1 at depth 1, one 4 at depth 2, and one 6 at depth 3; 1 + 4*2 + 6*3 = 27)

求一個nested list權重和.

# """# This is the interface that allows for creating nested lists.# You should not implement it, or speculate about its implementation# """#class NestedInteger(object):# def isInteger(self):# """# @return True if this NestedInteger holds a single integer, rather than a nested list.# :rtype bool# """## def getInteger(self):# """# @return the single integer that this NestedInteger holds, if it holds a single integer# Return None if this NestedInteger holds a nested list# :rtype int# """## def getList(self):# """# @return the nested list that this NestedInteger holds, if it holds a nested list# Return None if this NestedInteger holds a single integer# :rtype List[NestedInteger]# """class Solution(object): def depthSum(self, nestedList): """ :type nestedList: List[NestedInteger] :rtype: int """ if len(nestedList) == 0: return 0 stack = [] total_weight = 0 for lst in nestedList: stack.append((lst,1)) #add initial weight for lst while(stack): lst, w = stack.pop(0) #get 1st lst and the weight in stack #if is integer, time weight and add to total weight if lst.isInteger(): total_weight += lst.getInteger() * w #if it is not integer, get all the elements in the list and each weight plus 1 else: for child in lst.getList(): stack.append((child,w+1)) return total_weight

參考了leetcode的答案


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浦北县| 盐山县| 呈贡县| 周至县| 棋牌| 凤凰县| 孟州市| 桂平市| 安乡县| 新竹县| 抚州市| 许昌县| 武邑县| 汉沽区| 竹北市| 鄂尔多斯市| 随州市| 苍梧县| 海晏县| 绍兴县| 裕民县| 芮城县| 桐柏县| 墨竹工卡县| 自治县| 河北省| 天祝| 西乌| 鹿泉市| 黄骅市| 镇宁| 宁陕县| 湖口县| 广德县| 朝阳市| 关岭| 龙井市| 怀安县| 韩城市| 葫芦岛市| 溧水县|