青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594
給出一棵完全二叉樹,求問一共多少個節點,題目要求復雜度小于O(n),不過我用兩種O(logn)*O(logn)的寫法都沒有直接O(n)暴搜來得快。。。

方法一:先DFS,不斷走左子樹的路徑,算出二叉樹層數max_depth,那么最后一層節點的數量為[1, 2^(max_depth-1)],直接二分這個范圍,然后算出最后一個葉子結點落在哪里,理論復雜度O(logn)*O(logn)

 1 #222
 2 #Runtime: 156 ms
 3 #Memory Usage: 29.2 MB
 4 
 5 # Definition for a binary tree node.
 6 # class TreeNode(object):
 7 #     def __init__(self, val=0, left=None, right=None):
 8 #         self.val = val
 9 #         self.left = left
10 #         self.right = right
11 class Solution(object):
12     def binarySearch(self, root, depth, mid, l, r):
13         if depth == self.max_depth - 1: 
14             if root:
15                 return True
16             return False
17         if mid <= (l + r)//2:
18             return self.binarySearch(root.left, depth + 1, mid, l, (l + r)//2)
19         else:
20             return self.binarySearch(root.right, depth + 1, mid, (l + r)//2, r) 
21             
22     def countNodes(self, root):
23         """
24         :type root: TreeNode
25         :rtype: int
26         """
27         self.max_depth = 0
28         rt = root
29         while rt:
30             rt = rt.left
31             self.max_depth = self.max_depth + 1
32         if not self.max_depth:
33             return 0
34         l = 1
35         r = 2**(self.max_depth - 1)
36         while l < r:
37             mid = (l + r) // 2 + (l + r) % 2
38             if self.binarySearch(root, 0, mid, 1, 2**(self.max_depth - 1)):
39                 l = mid
40             else:
41                 r = mid - 1
42         return l + 2**(self.max_depth - 1) - 1

方法二:直接不斷二分地遞歸找左右子樹,直到遇到某個滿二叉樹節點,然后sum(左子樹的搜索結果)+sum(右子樹的搜索結果)+1(根結點),理論復雜度O(logn)*O(logn)

 1 #222
 2 #Runtime: 137 ms
 3 #Memory Usage: 29.2 MB
 4 
 5 # Definition for a binary tree node.
 6 # class TreeNode(object):
 7 #     def __init__(self, val=0, left=None, right=None):
 8 #         self.val = val
 9 #         self.left = left
10 #         self.right = right
11 class Solution(object):
12     def DFS(self, root, fg):
13         if not root:
14             return 1
15         if fg == 0:
16             return self.DFS(root.left, 0) + 1
17         return self.DFS(root.right, 1) + 1
18             
19     def countNodes(self, root):
20         """
21         :type root: TreeNode
22         :rtype: int
23         """
24         if not root:
25             return 0
26         depth_l = self.DFS(root.left, 0)
27         depth_r = self.DFS(root.right, 1)
28         if depth_l == depth_r:
29             return 2**depth_l - 1
30         return self.countNodes(root.left) + self.countNodes(root.right) + 1

方法三:直接DFS整棵樹求節點數量,復雜度O(n),沒想到這個方法反而最快...

 1 #222
 2 #Runtime: 87 ms
 3 #Memory Usage: 29.4 MB
 4 
 5 # Definition for a binary tree node.
 6 # class TreeNode(object):
 7 #     def __init__(self, val=0, left=None, right=None):
 8 #         self.val = val
 9 #         self.left = left
10 #         self.right = right
11 class Solution(object):
12     def DFS(self, root):
13         if not root:
14             return
15         self.ans += 1
16         self.DFS(root.left)
17         self.DFS(root.right)
18             
19     def countNodes(self, root):
20         """
21         :type root: TreeNode
22         :rtype: int
23         """
24         self.ans = 0
25         self.DFS(root)
26         return self.ans
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧美日韩高清| 午夜精品福利电影| 欧美激情精品久久久久久免费印度| 欧美一级片在线播放| 欧美一级黄色网| 久久精品人人做人人综合| 久久男人资源视频| 欧美激情一区二区三区成人| 欧美区一区二| 国产精品日韩专区| 国产无遮挡一区二区三区毛片日本| 国产精品日韩精品欧美精品| 国产精品资源在线观看| 国产欧美日本一区视频| 亚洲国内自拍| 性色av香蕉一区二区| 美女黄毛**国产精品啪啪| 91久久久亚洲精品| 亚洲一区影院| 久久―日本道色综合久久| 欧美日韩国产在线播放网站| 国产精品一区二区视频| 亚洲电影观看| 亚洲欧美日本在线| 女同一区二区| 亚洲一区二区三区在线视频| 久久天天狠狠| 国产精品国产三级国产aⅴ浪潮| 狠狠色丁香婷婷综合久久片| 亚洲图片在区色| 米奇777超碰欧美日韩亚洲| 99re66热这里只有精品4| 久久精品国产久精国产爱| 欧美日韩国产麻豆| 国内精品久久国产| 亚洲女女女同性video| 亚洲精品视频在线看| 国产精品99久久久久久有的能看 | 欧美成人高清视频| 亚洲天堂男人| 欧美韩国一区| 国内自拍一区| 性欧美办公室18xxxxhd| 亚洲精品乱码| 久久一区二区三区超碰国产精品 | 亚洲人成欧美中文字幕| 欧美一级视频免费在线观看| 亚洲三级电影在线观看| 久久综合网hezyo| 国产麻豆91精品| 日韩亚洲在线| 欧美成人亚洲| 久久久99久久精品女同性| 国产欧美在线观看一区| 亚洲欧美日韩中文视频| 亚洲另类自拍| 欧美精品一区二区三区视频| 亚洲人成在线播放| 亚洲黑丝在线| 欧美精品性视频| 亚洲精品一区二区三区四区高清| 欧美波霸影院| 你懂的一区二区| 亚洲国产成人tv| 亚洲国产精品一区二区久 | 中文日韩在线| 欧美日韩一区二区三区四区在线观看 | 国内精品视频一区| 久久欧美肥婆一二区| 久久精品亚洲| 亚洲国产精品一区二区三区| 亚洲国产日韩欧美在线99| 欧美亚洲日本一区| 影音先锋欧美精品| 欧美高清视频一区二区| 免费欧美高清视频| 亚洲精品视频免费观看| 99精品福利视频| 国产女优一区| 欧美福利视频一区| 欧美日韩一区在线观看视频| 性伦欧美刺激片在线观看| 亚洲欧美日本国产有色| 国内精品伊人久久久久av影院 | 国产精品视频xxx| 欧美伊人久久大香线蕉综合69| 欧美一区二区在线免费观看| 亚洲国产精品电影| 在线视频欧美日韩| 精品999在线播放| 亚洲日韩第九十九页| 欧美午夜片在线观看| 久久精品一区| 欧美国产精品| 久久国产直播| 欧美高清在线一区| 性欧美videos另类喷潮| 久久午夜影视| 亚洲欧美日韩在线播放| 久久人体大胆视频| 亚洲欧美日韩精品久久亚洲区 | 蜜桃久久av| 亚洲调教视频在线观看| 久久精品视频导航| 亚洲网址在线| 久久深夜福利| 欧美中文字幕| 欧美天堂亚洲电影院在线播放| 麻豆精品网站| 国产欧美一区二区精品秋霞影院| 你懂的亚洲视频| 国产拍揄自揄精品视频麻豆| 亚洲精品护士| 91久久精品国产91性色| 欧美中文字幕不卡| 香蕉国产精品偷在线观看不卡 | 欧美日韩国产精品| 欧美高清hd18日本| 国产一区二区三区不卡在线观看| 亚洲精品久久在线| 雨宫琴音一区二区在线| 亚洲影音一区| 欧美视频在线观看 亚洲欧| 欧美99在线视频观看| 国产亚洲欧美aaaa| 亚洲欧美日韩国产成人精品影院| 9l国产精品久久久久麻豆| 久久精品视频在线看| 午夜在线精品偷拍| 欧美午夜剧场| 亚洲天堂网站在线观看视频| 在线亚洲欧美| 欧美日韩直播| 一区二区三区黄色| 亚洲午夜久久久久久久久电影院 | 在线观看亚洲精品| 久久精品一区二区三区四区| 欧美一区二区三区在线观看| 亚洲欧美福利一区二区| 一区二区在线不卡| 亚洲国产精品成人久久综合一区| 国产午夜精品理论片a级大结局 | 久久影音先锋| 鲁大师影院一区二区三区| 国模 一区 二区 三区| 欧美一级视频一区二区| 久久久久一区二区三区| 国产一区二区三区的电影 | 久久久精彩视频| 国内精品写真在线观看| 久久另类ts人妖一区二区| 女同性一区二区三区人了人一| 亚洲国产精品久久久久婷婷老年| 老鸭窝毛片一区二区三区| 亚洲日本aⅴ片在线观看香蕉| 欧美好吊妞视频| 亚洲欧洲日产国产网站| 亚洲视频第一页| 国产网站欧美日韩免费精品在线观看 | 国产精品无码永久免费888| 亚洲欧美日韩精品久久| 久久蜜桃精品| 亚洲国产一区二区a毛片| 欧美日韩国产精品一区二区亚洲 | 欧美国产日产韩国视频| 亚洲日本国产| 久久成人免费视频| 国产一区二区三区久久精品| 久久国产精品免费一区| 亚洲国产精品毛片| 国产精品免费看片| 久久天天狠狠| 亚洲最新中文字幕| 噜噜噜躁狠狠躁狠狠精品视频 | 国产欧美91| 美女久久一区| 亚洲在线播放| 欧美激情bt| 久久成人一区| 一本色道久久综合亚洲精品按摩 | 亚洲欧美国产毛片在线| 国产亚洲制服色| 欧美成人r级一区二区三区| 一区二区三区国产在线观看| 免费成人毛片| 欧美一区二区| 一区二区三区|亚洲午夜| 樱桃国产成人精品视频| 国产乱码精品一区二区三区五月婷 | 一区二区久久久久久| 欧美高清视频| 亚洲宅男天堂在线观看无病毒| 午夜久久电影网| 最新69国产成人精品视频免费| 欧美日韩精品免费观看视一区二区| 一区二区高清在线观看| 欧美中文字幕不卡| 免费亚洲电影在线观看| 亚洲福利在线观看| 亚洲手机成人高清视频|