leetcode339. 嵌套列表權重和

給定一個嵌套的整數列表,請返回該列表按深度加權后所有整數的總和。

每個元素要么是整數,要么是列表。同時,列表中元素同樣也可以是整數或者是另一個列表。

示例 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。

思路:其實時間主要浪費在讀題上了,不知道這個NestedInteger怎么用,是個啥東西。

就是最簡單的搜索。

/*** // This is the interface that allows for creating nested lists.* // You should not implement it, or speculate about its implementation* public interface NestedInteger {*     // Constructor initializes an empty nested list.*     public NestedInteger();**     // Constructor initializes a single integer.*     public NestedInteger(int value);**     // @return true if this NestedInteger holds a single integer, rather than a nested list.*     public boolean isInteger();**     // @return the single integer that this NestedInteger holds, if it holds a single integer*     // Return null if this NestedInteger holds a nested list*     public Integer getInteger();**     // Set this NestedInteger to hold a single integer.*     public void setInteger(int value);**     // Set this NestedInteger to hold a nested list and adds a nested integer to it.*     public void add(NestedInteger ni);**     // @return the nested list that this NestedInteger holds, if it holds a nested list*     // Return null if this NestedInteger holds a single integer*     public List<NestedInteger> getList();* }*/
class Solution {public int depthSum(List<NestedInteger> nestedList) {return depthSum(nestedList, 1);}public int depthSum(List<NestedInteger> list, int depth) {int sum = 0;for (NestedInteger n : list) {if (n.isInteger()) sum += n.getInteger() * depth;else sum += depthSum(n.getList(), depth + 1);}return sum;
}
}

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/444451.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/444451.shtml
英文地址,請注明出處:http://en.pswp.cn/news/444451.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++:19---this指針

一、this指針介紹 概念:this指針是成員函數的一個隱式參數,在類中本質上就是對象的指針(常量指針)特點:在成員函數中可通過this指針區別成員變量與形參變量this可以顯式調用示例代碼:class Cperson{private:int age;float height;public:void InitPerson(int age,float hei…

leetcode346. 數據流中的移動平均值

給定一個整數數據流和一個窗口大小&#xff0c;根據該滑動窗口的大小&#xff0c;計算其所有整數的移動平均值。 示例: MovingAverage m new MovingAverage(3); m.next(1) 1 m.next(10) (1 10) / 2 m.next(3) (1 10 3) / 3 m.next(5) (10 3 5) / 3 思路&#xff1…

(二十)TCPIP面試寶典-進入大廠必備總結(中)

TCP 作為傳輸層的協議,是一個IT工程師素養的體現,也是面試中經常被問到的知識點。在此,我將 TCP 核心的一些問題梳理了一下,希望能幫到各位。 實際上這篇文章相當于是復習之前的網絡基礎部分。只不過這篇文章的提問方式更靈活,也是讓讀者們懂得變通,更熟悉TCP。 前兩篇文…

leetcode263. 丑數

編寫一個程序判斷給定的數是否為丑數。 丑數就是只包含質因數 2, 3, 5 的正整數。 示例 1: 輸入: 6 輸出: true 解釋: 6 2 3 示例 2: 輸入: 8 輸出: true 解釋: 8 2 2 2 示例 3: 輸入: 14 輸出: false 解釋: 14 不是丑數&#xff0c;因為它包含了另外一個質因數 7。…

(二十一)TCPIP面試寶典-進入大廠必備總結(下)

TCP 作為傳輸層的協議,是一個IT工程師素養的體現,也是面試中經常被問到的知識點。在此,我將 TCP 核心的一些問題梳理了一下,希望能幫到各位。 實際上這篇文章相當于是復習之前的網絡基礎部分。只不過這篇文章的提問方式更靈活,也是讓讀者們懂得變通,更熟悉TCP。 上一篇文…

C++:23 再議const的用法(下)

上一篇文章折騰了一波粉絲,那么這一篇文章稍微溫柔一些。 我主要開始說如何正確使用const 1.不能將const 修飾的任何對象、引用和指針作為賦值表達式的左值。 const int cx=100; const int & rcx=cx; const int * pcx=&cx; cx=200; //error rcx=200; //error *pcx=200…

C++:22 再議const的作用(上)

我在C++:18篇里說過const的用法,這里我有必要再提升進階下const的理解。 因為你可能只知道他是怎么用的,但是他為什么這樣用,其他用法呢? 首先回顧下const有什么主要的作用? (1)可以定義const常量,具有不可變性。 (2)便于進行類型檢查,使編譯器對處理內容有更多了解…

leetcode57. 插入區間

給出一個無重疊的 &#xff0c;按照區間起始端點排序的區間列表。 在列表中插入一個新的區間&#xff0c;你需要確保列表中的區間仍然有序且不重疊&#xff08;如果有必要的話&#xff0c;可以合并區間&#xff09;。 示例 1: 輸入: intervals [[1,3],[6,9]], newInterval …

C:03---運算符優先級

二話不說先看運算符的優先級表: 一、逗號運算符 格式:整個逗號表達式的值返回的結果是最后一個表達式的值使用起來,最好加上括號來返回最后一個表達式的值。否則逗號表達式的意義將失效(見下面演示案例)(表達式1, 表達式2, 表達式3....); #include <stdio.h> int ma…

C++: 21---引用和指針

一般說到誰和誰怎么樣,要么說兩者的相似點,要么兩者的區別,這里我們也要說二者的區別和聯系,同時,也不僅僅是區別和聯系這么簡單,因為你可能會發現在變量賦值,函數傳參這兩點還是有很多值得品一品的。 最直觀的賦值方面的區別 首先我們先說二者的區別和聯系。 (1)指針…

Oracle數據庫Date類型查詢問題(

淺談Oracle數據庫Date類型查詢問題用過Oracle數據庫的朋友應該知道&#xff0c;Oracle數據庫在以Date類型為查詢條件時存在一個小小的BUG&#xff0c;如&#xff1a;select * from tableName where createDate > to_date(2007-01-01,yyyy-mm-dd) and createDate < to_dat…

(二十二)深入淺出TCPIP之實戰篇—用c++開發一個http服務器

在當前的網絡編程專欄前十幾篇文章里&#xff0c;我已經說明了TCPIP常用的一些原理&#xff0c;那么接下來我將逐步進入到實戰編程階段&#xff1a;本篇文章我將帶大家用C做一個http服務器。既然想實現一個http服務器&#xff0c;首先必須要熟悉的就是http協議知識&#xff0c;…

C++:19---重載與模板、模板特例化

一、重載與模板 函數模板可以被另一個模板或一個普通非模板函數重載如果涉及函數模板,則函數匹配規則會有以下的約束:如果同樣好的函數中只有一個是非模板函數,則選擇此函數如果同樣好的函數中沒有非模板函數,而有多個函數模板,則其中一個模板比其他模板更特例化,則選擇此…

leetcode159. 至多包含兩個不同字符的最長子串

給定一個字符串 s &#xff0c;找出 至多 包含兩個不同字符的最長子串 t 。 示例 1: 輸入: "eceba" 輸出: 3 解釋: t 是 "ece"&#xff0c;長度為3。 示例 2: 輸入: "ccaabbb" 輸出: 5 解釋: t 是 "aabbb"&#xff0c;長度為5。 思…

C++:17---函數指針

一、格式 指針名前*號,并且將*和指針名用括號括起來例如: //指針名為pf,指向一個返回值為bool,參數為兩個const string&的函數 bool (*pf)(const string&, const string&); //這個不是函數指針,而是一個返回值為bool*的pf函數 bool *pf(const string&, co…

leetcode161. 相隔為 1 的編輯距離

給定兩個字符串 s 和 t&#xff0c;判斷他們的編輯距離是否為 1。 注意&#xff1a; 滿足編輯距離等于 1 有三種可能的情形&#xff1a; 往 s 中插入一個字符得到 t 從 s 中刪除一個字符得到 t 在 s 中替換一個字符得到 t 示例 1&#xff1a; 輸入: s "ab", t …

C語言-- 大端小端詳解

一、什么是大端和小端 所謂的大端模式,就是高位字節排放在內存的低地址端,低位字節排放在內存的高地址端。 所謂的小端模式,就是低位字節排放在內存的低地址端,高位字節排放在內存的高地址端。 簡單來說:大端——高尾端,小端——低尾端 舉個例子,比如數字 0x12 34 56 78…

leetcode164. 最大間距 借桶思想秒掉hard題

給定一個無序的數組&#xff0c;找出數組在排序之后&#xff0c;相鄰元素之間最大的差值。 如果數組元素個數小于 2&#xff0c;則返回 0。 示例 1: 輸入: [3,6,9,1] 輸出: 3 解釋: 排序后的數組是 [1,3,6,9], 其中相鄰元素 (3,6) 和 (6,9) 之間都存在最大差值 3。 示例 2: …

C++:18---函數模板(template)

一、模板的定義 template<typename T>以關鍵字template開頭,后面跟一個模板參數列表,列表里面用逗號將多個模板參數隔開定義的注意事項模板的編譯 當編譯器遇到一個模板定義時,并不生成代碼。只有當實例化處模板的一個特定版本時,編譯器才會生成代碼重點:通常,當我…

leetcode167. 兩數之和 II - 并沒有那么easy的easy題

給定一個已按照升序排列 的有序數組&#xff0c;找到兩個數使得它們相加之和等于目標數。 函數應該返回這兩個下標值 index1 和 index2&#xff0c;其中 index1 必須小于 index2。 說明: 返回的下標值&#xff08;index1 和 index2&#xff09;不是從零開始的。 你可以假設每…