Tarazlanmış İkili Ağac
Zaman limiti 1 saniyə-dir
Yaddaş məhdudiyyəti 128 meqabayt
Zədəf ədədlər massivindən İkili Axtarış Ağacı yaradın. Əgər daxil edilən dəyər mövcud düyünə bərabərdirsə, onu sağ alt ağaca daxil edin.
IsBalanced metodunu həyata keçirin, hansı ki, ağacın hündürlük baxımından balanslı olub-olmadığını müəyyən edəcək. Ağac hündürlük baxımından balanslı sayılır, əgər hər bir düyün üçün onun sol və sağ alt ağaclarının hündürlüyü arasında fərq maksimum 1 olarsa.
Aşağıdakı interfeysə uyğun kod yazın:
class TreeNode { public: int val; TreeNode *left, *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; class Tree { public: TreeNode *head; Tree() : head(NULL) {}; void Insert(int val); // İkili Axtarış Ağacına val ədədini daxil edin int IsBalanced(void); // Ağac hündürlük baxımından balanslıdırsa 1, əks halda 0 qaytarın };
// Java class TreeNode { int val; TreeNode left, right; TreeNode(int x) { val = x; left = right = null; } } class Tree { TreeNode head; Tree(); void Insert(int val); // İkili Axtarış Ağacına val ədədini daxil edin int IsBalanced(); // Ağac hündürlük baxımından balanslıdırsa 1, əks halda 0 qaytarın }
Lazım olduqda əlavə metodlar yarada (istifadə edə) bilərsiniz.
Giriş məlumatları
Birinci sətir n (1 ≤ n ≤ 100) ədədini ehtiva edir. İkinci sətir n tam ədəd ehtiva edir.
Çıxış məlumatları
Giriş məlumatlarından İkili Axtarış Ağacı yaradın. Əgər o hündürlük baxımından balanslıdırsa 1, əks halda 0 çıxarın.
Nümunələr
Giriş #1
Çıxış #1
Təqdimatlar 516
Qəbul dərəcəsi 43%