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

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>
            国产精品一区免费观看| 性欧美8khd高清极品| 欧美另类在线播放| 亚洲人成网站999久久久综合| 亚洲社区在线观看| 欧美在线播放一区| 亚洲第一在线综合在线| 亚洲靠逼com| 欧美高潮视频| 99热在这里有精品免费| 久久久综合激的五月天| 91久久久久久| 久久精品2019中文字幕| 日韩小视频在线观看| 一区二区三区精密机械公司| 国产一区二区中文字幕免费看| 久久亚洲色图| 亚洲一本视频| 亚洲激情视频网| 日韩一级精品视频在线观看| 久久一区欧美| 欧美一区二区三区的| 美女网站久久| 久久久夜夜夜| 久久精品水蜜桃av综合天堂| 亚洲第一久久影院| 久久久精品日韩| 欧美一区二区三区在线免费观看| 久久亚洲精品一区二区| 91久久在线观看| 欧美亚洲日本国产| 一区二区三区精品| 亚洲精品视频在线| 亚洲国产99| 欧美亚洲在线观看| 欧美日一区二区在线观看 | 99视频一区| 久久女同互慰一区二区三区| 亚洲精品欧美激情| 老司机凹凸av亚洲导航| 久久久久网站| 国产精品嫩草久久久久| 欧美午夜电影在线| 国产精品美女诱惑| av成人免费在线观看| 蜜臀久久久99精品久久久久久| 亚洲一二三四久久| 欧美日韩国产欧| 国产精品区一区二区三区| 国产精品久久久久久久一区探花| 精品av久久707| 在线观看欧美日本| 亚洲日本中文字幕| 一区二区三区 在线观看视| 久久亚洲春色中文字幕久久久| 国产精品99久久久久久久久| 欧美精品在线一区二区| 亚洲精品久久久久久久久| 欧美aⅴ99久久黑人专区| 亚洲人成在线观看一区二区| 久久久91精品国产一区二区三区 | 一区二区三区视频在线播放| 欧美成人午夜激情| 老司机精品福利视频| 在线不卡中文字幕| 欧美成人免费网| 欧美福利在线观看| 欧美日韩在线不卡一区| 国产网站欧美日韩免费精品在线观看| 国产欧美一区二区三区国产幕精品 | 亚洲视频一二区| 欧美一级视频精品观看| 久久免费的精品国产v∧| 欧美一区二区在线| 樱花yy私人影院亚洲| 欧美.com| 欧美精品一区二区三区久久久竹菊 | 亚洲免费在线观看视频| 久久国产精品网站| 欧美大片国产精品| 国产精品久久久久久久久果冻传媒| 国产精品资源在线观看| 午夜日韩福利| 亚洲激情视频在线| 欧美日韩一区二区三区视频| 亚洲伊人伊色伊影伊综合网| 欧美+亚洲+精品+三区| 麻豆freexxxx性91精品| 国产日韩欧美| 欧美国产日本| 久久久精品网| 国产精品日韩欧美一区二区三区| 欧美伊人久久大香线蕉综合69| 久久久久久久久一区二区| 亚洲精品中文字幕在线观看| 一区二区三区|亚洲午夜| 国产一区二区三区最好精华液| 一本久久青青| 亚洲欧美日韩精品久久亚洲区 | 免费亚洲一区| 欧美体内谢she精2性欧美| 久久国产夜色精品鲁鲁99| 免费黄网站欧美| 精品88久久久久88久久久| 9色porny自拍视频一区二区| 夜夜夜久久久| 亚洲欧美另类久久久精品2019| 伊人成人在线视频| 亚洲视频1区2区| 亚洲片国产一区一级在线观看| 久久九九久久九九| 欧美精品一区二区三区很污很色的| 性娇小13――14欧美| 欧美精品v日韩精品v国产精品| 亚洲精品免费在线播放| 亚洲综合色婷婷| 中文精品在线| 欧美高清在线一区二区| 久久久噜噜噜久久| 国产精品一区在线播放| 亚洲美女毛片| 亚洲精品永久免费精品| 久久久99国产精品免费| 欧美在线观看你懂的| 欧美性色综合| 亚洲精品乱码久久久久久蜜桃91 | 日韩五码在线| 久久综合久久88| 久久人体大胆视频| 国产人妖伪娘一区91| 亚洲一区二区三区精品动漫| 国产精品一二三视频| 亚洲另类在线视频| 亚洲精品九九| 欧美电影打屁股sp| 欧美成人国产一区二区| 亚洲成人在线视频网站| 久久av免费一区| 亚洲另类视频| 欧美国产一区二区| 欧美国产一区二区| 亚洲美女av网站| 欧美国产精品一区| 亚洲激情婷婷| 亚洲视频第一页| 国产精品国产成人国产三级| 亚洲精品自在在线观看| 99日韩精品| 欧美午夜女人视频在线| 亚洲主播在线| 老司机午夜精品视频| 欧美体内she精视频| 在线亚洲美日韩| 久久久五月天| 亚洲精品视频在线| 欧美精品综合| 午夜国产不卡在线观看视频| 久久综合免费视频影院| 亚洲国产一区二区a毛片| 亚洲伊人网站| 久久免费视频一区| 亚洲欧洲免费视频| 国产精品ⅴa在线观看h| 欧美一区二区在线免费观看| 女女同性女同一区二区三区91| 亚洲日产国产精品| 国产精品一区二区久久| 老司机一区二区三区| 最近中文字幕日韩精品| 亚洲永久免费精品| 国产日韩精品电影| 麻豆精品91| 亚洲香蕉网站| 亚洲成色www8888| 国产啪精品视频| 久久蜜臀精品av| 中文av字幕一区| 欧美v日韩v国产v| 亚洲欧美日韩电影| 欧美日韩精品伦理作品在线免费观看| 日韩亚洲欧美成人一区| 久久久99爱| 亚洲网在线观看| 亚洲国产老妈| 国产精品一区二区久久国产| 欧美精品国产| 久久影音先锋| 欧美亚洲日本一区| 一区二区三区免费看| 亚洲国产高清一区二区三区| 久久久www免费人成黑人精品| 一区二区三区四区五区视频 | 国产精品国产| 欧美极品一区| 欧美成人一区二免费视频软件| 午夜精品视频在线| 一级日韩一区在线观看| 国产一区日韩二区欧美三区| 欧美一区激情视频在线观看| 亚洲精品小视频在线观看|