<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ?LeetCode刷題實戰(zhàn)339:嵌套列表權(quán)重和

          共 2147字,需瀏覽 5分鐘

           ·

          2021-08-05 01:38

          算法的重要性,我就不多說了吧,想去大廠,就必須要經(jīng)過基礎(chǔ)知識和業(yè)務(wù)邏輯面試+算法面試。所以,為了提高大家的算法能力,這個公眾號后續(xù)每天帶大家做一道算法題,題目就從LeetCode上面選 !

          今天和大家聊的問題叫做 嵌套列表權(quán)重和,我們先來看題面:
          https://leetcode-cn.com/problems/nested-list-weight-sum/

          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.

          給定一個嵌套的整數(shù)列表,請返回該列表按深度加權(quán)后所有整數(shù)的總和。
          每個元素要么是整數(shù),要么是列表。同時,列表中元素同樣也可以是整數(shù)或者是另一個列表。

          示例

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


          解題


          大問題可以拆成很多個類型相同的小問題,

          所以觀察到可以用遞歸解,所以用weight這個變量記錄當(dāng)前的深度(也就是權(quán)重),

          當(dāng)類型是數(shù)字的時候,直接返回weight和數(shù)字的乘積,

          當(dāng)類型是nestedList的時候,就需要對其中每一個元素進行遞歸處理。


          class Solution(object):
              def depthSum(self, nestedList):
                  """
                  :type nestedList: List[NestedInteger]
                  :rtype: int
                  """

                  def Sum(weight, l):
                      if l.isInteger():
                          return weight * l.getInteger()
                      return sum(Sum(weight + 1, item) for item in l.getList())
                  
                  return sum(Sum(1, i) for i in nestedList)


          好了,今天的文章就到這里,如果覺得有所收獲,請順手點個在看或者轉(zhuǎn)發(fā)吧,你們的支持是我最大的動力 。

          上期推文:

          LeetCode1-320題匯總,希望對你有點幫助!
          LeetCode刷題實戰(zhàn)321:拼接最大數(shù)
          LeetCode刷題實戰(zhàn)322:零錢兌換
          LeetCode刷題實戰(zhàn)323:無向圖中連通分量的數(shù)目
          LeetCode刷題實戰(zhàn)324:擺動排序 II
          LeetCode刷題實戰(zhàn)325:和等于 k 的最長子數(shù)組長度
          LeetCode刷題實戰(zhàn)326:3的冪
          LeetCode刷題實戰(zhàn)327:區(qū)間和的個數(shù)
          LeetCode刷題實戰(zhàn)328:奇偶鏈表
          LeetCode刷題實戰(zhàn)329:矩陣中的最長遞增路徑
          LeetCode刷題實戰(zhàn)330:按要求補齊數(shù)組
          LeetCode刷題實戰(zhàn)331:驗證二叉樹的前序序列化
          LeetCode刷題實戰(zhàn)332:重新安排行程

          瀏覽 57
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  影音先锋日韩 | 影音先锋色资源站 | 91人妻在线 | seseseaaa | 无码高清视频在线免费观看 |