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

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>
            亚洲欧美日韩精品久久亚洲区| 国产精品久久激情| 欧美激情亚洲视频| 久久女同互慰一区二区三区| 久久国产一区二区三区| 久久精品主播| 欧美激情一区二区三区在线视频 | 亚洲一区二区三区中文字幕| 宅男噜噜噜66一区二区 | 国产精品mv在线观看| 国产精品国内视频| 国产一区二区高清视频| 狠狠久久综合婷婷不卡| 亚洲国内精品在线| 在线中文字幕不卡| 久久精品视频亚洲| 亚洲第一页在线| 狼人社综合社区| 亚洲精品国产精品国自产在线 | 久色成人在线| 欧美成人精品一区二区| 欧美私人网站| 加勒比av一区二区| 日韩视频免费大全中文字幕| 亚洲欧美在线免费观看| 美女脱光内衣内裤视频久久影院 | 亚洲无玛一区| 久久亚洲精品一区| 亚洲精品美女在线观看| 亚洲欧美国产另类| 欧美成人乱码一区二区三区| 国产精品美女久久久久久久| 狠狠干狠狠久久| 中文国产成人精品久久一| 久久天堂av综合合色| 亚洲乱码国产乱码精品精98午夜| 亚洲永久在线观看| 亚洲欧美视频在线观看视频| 欧美体内谢she精2性欧美| 久久久精品动漫| 欧美性生交xxxxx久久久| 在线免费观看欧美| 久久aⅴ国产紧身牛仔裤| 亚洲国产成人午夜在线一区| 亚洲欧美一区二区原创| 欧美日韩精品在线| 亚洲免费观看高清完整版在线观看| 久久九九电影| 亚洲欧美高清| 国产精品综合网站| 亚洲欧美日韩国产| 亚洲激情在线播放| 久久国产欧美| 国产日韩欧美亚洲一区| 亚洲色图综合久久| 亚洲美女av电影| 欧美精品18| 亚洲人成在线观看| 欧美 日韩 国产在线| 性色av一区二区三区在线观看 | 老司机午夜精品视频在线观看| 亚洲一区二区三区免费观看| 欧美日韩亚洲激情| 在线一区视频| 亚洲午夜视频在线观看| 国产精品家庭影院| 午夜精品国产更新| 午夜久久久久久久久久一区二区| 国产欧美一区二区三区视频| 亚洲尤物在线视频观看| 亚洲视频一区在线观看| 国产精品丝袜久久久久久app| 亚洲专区在线视频| 午夜性色一区二区三区免费视频| 国产精品视频网| 久久精品国产69国产精品亚洲| 午夜影视日本亚洲欧洲精品| 国产一区二区三区久久久| 麻豆久久久9性大片| 毛片精品免费在线观看| 一区二区三区国产在线观看| 一区二区三区精品视频在线观看| 国产精品福利在线| 久久网站免费| 欧美日韩国产123区| 午夜精品久久久久久久久久久| 午夜亚洲福利| 亚洲日本在线观看| 亚洲在线一区二区| 精品动漫3d一区二区三区免费 | 欧美在线免费一级片| 国产精品成人观看视频免费| 亚洲欧美国产另类| 久久综合给合久久狠狠狠97色69| 亚洲精品一区久久久久久| 一区电影在线观看| 激情丁香综合| 99riav1国产精品视频| 国产亚洲欧美一区二区三区| 欧美激情综合| 国产欧美日韩麻豆91| 亚洲大胆人体视频| 国产精品日本一区二区| 欧美h视频在线| 国产精品久久久爽爽爽麻豆色哟哟| 久久久免费观看视频| 欧美日韩国产高清| 麻豆九一精品爱看视频在线观看免费| 欧美国产日韩视频| 久久久91精品| 国产精品美女久久久| 亚洲国产va精品久久久不卡综合| 国产精品亚洲一区| 亚洲欧洲三级| 亚洲电影视频在线| 午夜一区在线| 性欧美xxxx视频在线观看| 欧美精品一区视频| 欧美激情国产日韩精品一区18| 国产精品一区二区在线| 日韩一级大片| 日韩天堂在线观看| 久久夜色精品国产| 久久久精品tv| 国产欧美精品va在线观看| 99re在线精品| 99国产精品一区| 牛人盗摄一区二区三区视频| 久久精品一区二区三区四区| 国产精品v日韩精品| 日韩一级精品| 亚洲在线一区二区三区| 欧美三级在线| 亚洲精选成人| 亚洲校园激情| 欧美日韩中文字幕精品| 日韩亚洲精品电影| 亚洲欧美区自拍先锋| 国产精品乱子乱xxxx| 一区二区三区久久精品| 亚洲在线视频| 国产精品性做久久久久久| 亚洲视频一二三| 亚洲在线成人精品| 国产精品亚洲一区二区三区在线| 国产精品99久久久久久www| 亚洲视频精品在线| 国产精品久久久久久久久久妞妞| 99在线视频精品| 亚洲视频综合| 国产精品日韩欧美| 欧美亚洲三区| 久久中文字幕一区| 黄色成人在线| 欧美精品在线一区二区| 99精品久久久| 欧美一级在线视频| 亚洲一区自拍| 国内精品久久久久久| 欧美在线视频导航| 欧美aⅴ99久久黑人专区| 91久久国产综合久久蜜月精品| 欧美成人国产va精品日本一级| 亚洲巨乳在线| 欧美一区视频在线| 在线看片一区| 欧美色图首页| 久久久久se| 亚洲精品在线观看免费| 欧美一区二区网站| 亚洲国产欧美一区二区三区同亚洲 | 久久亚洲视频| 亚洲伦理在线观看| 国产精品爱久久久久久久| 中文亚洲免费| 欧美激情1区2区3区| 一区二区免费在线观看| 国产欧美精品久久| 久久婷婷国产麻豆91天堂| 老司机精品视频网站| 99国产精品视频免费观看一公开| 国产精品三区www17con| 欧美伊久线香蕉线新在线| 欧美777四色影视在线| 亚洲制服丝袜在线| 狠狠色狠狠色综合日日tαg| 欧美日韩三级| 美女性感视频久久久| 亚洲欧美另类在线观看| 亚洲人成网站777色婷婷| 久久婷婷久久一区二区三区| 亚洲网站在线| 一区二区高清视频在线观看| 狠狠入ady亚洲精品| 国产欧美大片| 国产老女人精品毛片久久| 欧美日本精品在线| 欧美成年人在线观看| 久久婷婷国产综合尤物精品| 亚洲欧美国产毛片在线|