zoukankan      html  css  js  c++  java
  • [Swift]LeetCode339. 嵌套链表权重和 $ Nested List Weight Sum

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址: https://www.cnblogs.com/strengthen/p/10714683.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    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)


    给定一个嵌套的整数列表,返回列表中按深度加权的所有整数的和。

    每个元素要么是一个整数,要么是一个列表——其元素也可以是整数或其他列表。

    例1:

    给定列表[[1,1],2,[1,1]],返回10。(深度2处4个1,深度1处1个2)

    例2:

    给定列表[1,[4,[6]]],返回27。(深度1处1个1,深度2处1个4,深度3处1个6;1+4*2+6*3=27)


    Solution:

     1 class Solution {
     2     func depthSum(_ nestedList:inout [NestedInteger]) -> Int {
     3         retrurn helper(&nestedList, 1)
     4     }
     5     
     6     func helper(_ nl:inout [NestedInteger],_ depth:Int) -> Int
     7     {
     8         var res:Int = 0
     9         for a in nl
    10         {
    11             if let num:Int = Int(a)
    12             {
    13                  res += (num * depth)
    14             }
    15             else
    16             {
    17                 var list = a.getList()
    18                 res +=  helper(&list, depth + 1)
    19             }
    20         }
    21         return res
    22     }
    23 }
  • 相关阅读:
    Python之实现一个优先级队列
    java可变参数列表的实现
    static 关键字详解 static方法调用非static属性和方法
    this关键字详解
    vue自定义事件 子组件把数据传出去
    vue组件 Prop传递数据
    Vue 什么是组件
    vue v-model 表单控件绑定
    vue v-on监听事件
    vue v-if with v-for
  • 原文地址:https://www.cnblogs.com/strengthen/p/10714683.html
Copyright © 2011-2022 走看看