zoukankan      html  css  js  c++  java
  • 339. Nested List Weight Sum 339.嵌套列表权重总和

    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:

    Input: [[1,1],2,[1,1]]
    Output: 10 
    Explanation: Four 1's at depth 2, one 2 at depth 1.

    Example 2:

    Input: [1,[4,[6]]]
    Output: 27 
    Explanation: One 1 at depth 1, one 4 at depth 2, and one 6 at depth 3; 1 + 4*2 + 6*3 = 27.

    递归没错,但是还需要加一个depth参数

    求sum的时候还要乘以depth

    class Solution {
        public int depthSum(List<NestedInteger> nestedList) {
            if (nestedList == null)
                return 0;
            
            return helper(nestedList, 1);
        }
        
        public int helper(List<NestedInteger> nestedList, int depth) {
            int sum = 0;
            
            for (NestedInteger e : nestedList) {
                sum += e.isInteger() ? e.getInteger() * depth : 
                helper(e.getList(), depth + 1);
            }
            
            return sum;
        }
    }
    View Code
    
    
    
     
  • 相关阅读:
    CSpinButtonCtrl控件的使用
    JS基础语法
    JS
    层级,hover
    Html&Css
    定位
    制作静态网页
    查看trunk端口
    配置vlan trunk
    js日期的写法,获取girdviw的行数、提示信息、验证数量信息
  • 原文地址:https://www.cnblogs.com/immiao0319/p/13737097.html
Copyright © 2011-2022 走看看