L41. Ceil in a Binary Search Tree | BST | C++ | Java

  Рет қаралды 120,374

take U forward

take U forward

Күн бұрын

Entire DSA Course: takeuforward.o...
Check our Website:
Linkedin/Instagram/Telegram: linktr.ee/take...
#treeSeries #striver #placements

Пікірлер: 91
@AtharvaRao0104
@AtharvaRao0104 3 ай бұрын
One practical implementation of this is in consistent hashing algorithm. To find the server where the data resides. We can maintain a balanced BST of the hash(IP) for all nodes .. when a key is to be stored or retrieved, the key is also hashed and the successor of this hash(key) is searched in this balanced BST.
@datkumar1024
@datkumar1024 2 жыл бұрын
Recursive solution: int func(BinaryTreeNode *curr,int key, int &ceil) { if(!curr) return ceil; if(curr->data == key) return ceil = key; if(curr->data > key) { ceil = curr->data; return func(curr->left, key, ceil); } return func(curr->right, key, ceil); } int findCeil(BinaryTreeNode *root, int key){ int ceil = -1; ceil = func(root,key,ceil); return ceil; }
@udayrajvadeghar8555
@udayrajvadeghar8555 8 ай бұрын
Amazing concept explaining !!
@SHASHANKRUSTAGII
@SHASHANKRUSTAGII 2 жыл бұрын
Next greater number in BST on INTERVIEWBIT.
@ciaassasian
@ciaassasian 8 ай бұрын
shashank bhaiya op! spotted again
@ankitpundir_
@ankitpundir_ 9 ай бұрын
The best playlist on TREE. better version of code int findCeil(BinaryTreeNode *node, int x){ int ceil = -1; BinaryTreeNode *curr = node; while(curr!= NULL){ if(curr->data >= x){ ceil = curr->data; if(ceil == x){ break; } curr = curr->left; } else{ curr = curr->right; } } return ceil; }
@takeUforward
@takeUforward 3 жыл бұрын
Please likeeee, shareeee and subscribeeeeeeee :) Also follow me at Insta: Striver_79
@stith_pragya
@stith_pragya Жыл бұрын
Thank You So Much for this wonderful video.............🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻
@akashpurbia4390
@akashpurbia4390 10 ай бұрын
Recursive Solution: // Function to return the ceil of given number in BST. int Ceil=-1; //Global Variable int findCeil(Node* root, int input) { if (root == NULL) return Ceil; // Your code here if(root->data==input) { Ceil = root->data; return Ceil; //if input is found then ceil will be that only } if(root->data>input) { Ceil = root->data; //update the ceil(immediately greater than input) } if(inputdata) return findCeil(root->left,input); else return findCeil(root->right,input); }
@tharungr7701
@tharungr7701 4 ай бұрын
int ceilAns = -1; BinaryTreeNode* curr = node; while(curr) { if(curr->data >= x) { ceilAns = curr->data; curr= curr->left; } else{ curr= curr->right; } } return ceilAns; simple as that
@ajayagrawal2067
@ajayagrawal2067 9 ай бұрын
Using a while loop will be a good answer, because if we use recursion that is adding some extra space which the interviewer might not like.
@priyanshkumar17
@priyanshkumar17 8 ай бұрын
Yeah!! You're right
@brokegod5871
@brokegod5871 4 ай бұрын
Here's the recursive solution, there's no issue of extra spaces though? void solve(Node* root, int input, int &ans) { if(root==NULL) return; if(root->data == input) { ans = root->data; return; } if(input > root->data) { solve(root->right, input, ans); } else { ans = root->data; solve(root->left, input, ans); } } int findCeil(Node* root, int input) { int ans = -1; solve(root, input, ans); return ans; }
@yashverma2986
@yashverma2986 2 жыл бұрын
int ceil=-1; while(node!=NULL) { if(node->data>x){ ceil=node->data; node=node->left; } else if(node->dataright; } else if(node->data==x) { return node->data; } } return ceil;
@ganeshjaggineni4097
@ganeshjaggineni4097 4 ай бұрын
NICE SUPER EXCELLENT MOTIVATED
@rushikeshjadhav6346
@rushikeshjadhav6346 3 жыл бұрын
Your Intro BGM boosts my moral!
@abhishekgusain6084
@abhishekgusain6084 2 жыл бұрын
Thankyou very much sir, for all of these videos, I'm really grateful for them. I'll surely crack google just like you did.
@DeadPoolx1712
@DeadPoolx1712 16 сағат бұрын
UNDERSTOOD;
@UECAshutoshKumar
@UECAshutoshKumar Жыл бұрын
Thank you sir
@shipranshikeshri9210
@shipranshikeshri9210 Жыл бұрын
int findCeil(Node* root, int input) { if (root == NULL) return -1; int ans = INT_MAX; while(root != NULL ){ if(root->data >=input){ ans = min(ans,root->data); root = root->left; } else{ root = root->right; } // cout
@apmotivationakashparmar722
@apmotivationakashparmar722 Ай бұрын
Thank you so much !
@paraskamboj1039
@paraskamboj1039 4 ай бұрын
thankyou so much sir ji
@kanishkkala16
@kanishkkala16 8 ай бұрын
guys isnt this the floor of the bst problem, val >= k is used for the floor right, i have seen his whole binary search playlist, even in that finding floor is done using arr[mid] >= k right
@striverdaaadi
@striverdaaadi 11 ай бұрын
awesome videos bhaijaan😍😍
@KartikeyTT
@KartikeyTT 3 ай бұрын
tysm sir
@himanshidafouty347
@himanshidafouty347 4 ай бұрын
Understood
@GeneralistDev
@GeneralistDev Жыл бұрын
SelfNote:- Solved myself
@akhilesh59
@akhilesh59 3 жыл бұрын
Understood...
@jatilyadav4000
@jatilyadav4000 2 жыл бұрын
Definately Yess...
@codeman3828
@codeman3828 7 ай бұрын
Thanks. Understood
@alesblaze4745
@alesblaze4745 2 жыл бұрын
thanks mate!
@brokegod5871
@brokegod5871 4 ай бұрын
Recursive Solutions: *Ceil in BST* void solve(Node* root, int input, int &ans) { if(root==NULL) return; if(root->data == input) { ans = root->data; return; } if(input > root->data) { solve(root->right, input, ans); } else { ans = root->data; solve(root->left, input, ans); } } int findCeil(Node* root, int input) { int ans = -1; solve(root, input, ans); return ans; } *Floor in BST* void solve(Node* root, int input, int &ans) { if(root==NULL) return; if(root->data == input) { ans = root->data; return; } if(input < root->data) { solve(root->left, input, ans); } else { ans = root->data; solve(root->right, input, ans); } } int floor(Node* root, int x) { int ans = -1; solve(root, x, ans); return ans; }
@harshitjaiswal9439
@harshitjaiswal9439 9 ай бұрын
understood.
@chiragbansod8252
@chiragbansod8252 8 ай бұрын
understood
@PrinceKumar-el7ob
@PrinceKumar-el7ob 3 жыл бұрын
exactly similar to finding ceil in sorted order!
@rpspsprp
@rpspsprp 2 жыл бұрын
Ye question leet code per nii hai sayad
@jambajuice07
@jambajuice07 Жыл бұрын
you are doing extremely very well striver
@sujan_kumar_mitra
@sujan_kumar_mitra 3 жыл бұрын
Understood
@mohdhammadsiddiqui7598
@mohdhammadsiddiqui7598 2 жыл бұрын
In coding ninjas i think sample input for X=7 is given wrong ceil should be 7 not 8
@tusharnain6652
@tusharnain6652 2 жыл бұрын
Coding Ninjas Sucks!
@studyaccount794
@studyaccount794 2 жыл бұрын
@@tusharnain6652 Yeah, it's like that pirated game you download from pirate bay lol. Highly compressed 1mb leetcode 100% working, no virus.
@tusharnain6652
@tusharnain6652 2 жыл бұрын
@@studyaccount794 LOL, those highly compressed games took forever to install
@tusharnain6652
@tusharnain6652 2 жыл бұрын
@Ayush Negi yes!
@harshalgarg1149
@harshalgarg1149 3 жыл бұрын
Thanks.
@rishabhkumar8115
@rishabhkumar8115 3 жыл бұрын
NIce!!!
@letscodewithshivam
@letscodewithshivam 2 жыл бұрын
This is similar to finding successor in BST for a key.. right ?
@parthsalat
@parthsalat 2 жыл бұрын
Yes, check it on interviewbit
@tps8470
@tps8470 4 ай бұрын
Done
@Ani-zi5he
@Ani-zi5he 6 ай бұрын
"Understood"
@shivangisrivastava1158
@shivangisrivastava1158 2 жыл бұрын
smooth!
@sangammishra3670
@sangammishra3670 2 жыл бұрын
i think in the above example if you have 7 in the left of 9 then in that case it will return value 7
@harshjha1626
@harshjha1626 2 жыл бұрын
No, it will return 9 only
@shivamtharwani4057
@shivamtharwani4057 Жыл бұрын
in that case it returns 10 as of eg.
@umarqureshi8499
@umarqureshi8499 3 жыл бұрын
Amazing.
@mayankraj527
@mayankraj527 3 жыл бұрын
Nice explanation
@pratapsingh9638
@pratapsingh9638 Жыл бұрын
understood
@prathameshpawar346
@prathameshpawar346 3 жыл бұрын
nicely done
@abhishek__anand__
@abhishek__anand__ Жыл бұрын
Nice
@lavanyaprakashjampana933
@lavanyaprakashjampana933 2 жыл бұрын
we love your content and we love you...🖤
@pratapsingh9638
@pratapsingh9638 Жыл бұрын
@striver bhai please make videos on bit manipulation and segment tree
@chirlasowmyareddy
@chirlasowmyareddy Жыл бұрын
this is raj sir's video.. hope this is helpful.. www.youtube.com/@CodeBeyond/playlists?view=50&shelf_id=2
@t-anime517
@t-anime517 Жыл бұрын
Understood 😊
@ashwinrai123
@ashwinrai123 2 жыл бұрын
Amazing....
@nileshsinha7869
@nileshsinha7869 3 жыл бұрын
UNDERSTOOD
@b_31mahammadzubair81
@b_31mahammadzubair81 2 жыл бұрын
In the BST shown in question what if 7 is there instead of 9. What will it return??
@chiragkhemani1615
@chiragkhemani1615 2 жыл бұрын
If there would have been 7 , we have not taken that and moved to right that is NULL and return stored ans that is 10 (ceil of this tree when key = 8)
@bilalkhan2298
@bilalkhan2298 Жыл бұрын
dhoni❤
@abhimanyuthapliyal5823
@abhimanyuthapliyal5823 3 ай бұрын
US
@Ayush-lq3fz
@Ayush-lq3fz 3 жыл бұрын
understood :)))))
@p38_amankuldeep75
@p38_amankuldeep75 2 жыл бұрын
💝💝💝
@ajayypalsingh
@ajayypalsingh 2 жыл бұрын
💚
@shubamgoswami
@shubamgoswami 3 жыл бұрын
done completed
@Kpriyasing
@Kpriyasing 3 жыл бұрын
Amazing content!
@TheDev05
@TheDev05 Жыл бұрын
@@parthgupta0824 are you a boy or girl?
@Telugu_europe
@Telugu_europe 2 жыл бұрын
US
@jambajuice07
@jambajuice07 Жыл бұрын
void help(Node* root , int target , int &ans){ if(root== NULL) return ; if(root->data== target){ ans = target; return ; } else if(root->data > target){ ans = min(ans , root->data); help(root->left , target,ans); }else{ help(root->right, target,ans); } } int findCeil(Node* root, int input) { if (root == NULL) return -1; int ans =1e9; help(root, input , ans); if(ans==1e9) return -1; }
@piyushacharya7696
@piyushacharya7696 2 жыл бұрын
reach++
@HarryThakur-f6u
@HarryThakur-f6u 4 ай бұрын
hey everyone? can someone please tell me which question number is this on leetcode!
@shibasishdas4107
@shibasishdas4107 9 ай бұрын
Can there be a better version of this code in recurssive solution: private TreeNode ceil(TreeNode root, int val) { if(root == null) return null; if(root.val == val) return root; if(val < root.val) { TreeNode left = ceil(root.left, val); return (left == null) ? root : left; } else { TreeNode right = ceil(root.right, val); return (right == null) ? null : right; } }
@suvanshmahajan5902
@suvanshmahajan5902 2 жыл бұрын
"us"
@mriduljain1981
@mriduljain1981 Жыл бұрын
us.
@K-EC-AmanKumar
@K-EC-AmanKumar Жыл бұрын
in Mahi's word😂
@KaushikSharma-c3q
@KaushikSharma-c3q Жыл бұрын
.....................
@hemankpandya989
@hemankpandya989 2 жыл бұрын
codestudio chutiya hai......kabhi accept nhi hota waha
@SibiRanganathL
@SibiRanganathL 22 күн бұрын
understood
@filmcrux64711
@filmcrux64711 Жыл бұрын
understood
@roopeshn3301
@roopeshn3301 2 жыл бұрын
Understood
@rishabhgupta9846
@rishabhgupta9846 Жыл бұрын
UNDERSTOOD
L42. Floor in a Binary Search Tree | BST | C++ | Java
5:00
take U forward
Рет қаралды 94 М.
L44. Delete a Node in Binary Search Tree | BST | C++ | Java
15:48
take U forward
Рет қаралды 212 М.
Can You Find Hulk's True Love? Real vs Fake Girlfriend Challenge | Roblox 3D
00:24
Do you love Blackpink?🖤🩷
00:23
Karina
Рет қаралды 21 МЛН
I thought one thing and the truth is something else 😂
00:34
عائلة ابو رعد Abo Raad family
Рет қаралды 9 МЛН
8 patterns to solve 80% Leetcode problems
7:30
Sahil & Sarra
Рет қаралды 442 М.
The hidden beauty of the A* algorithm
19:22
Polylog
Рет қаралды 900 М.
L52. Recover BST | Correct BST with two nodes swapped
15:56
take U forward
Рет қаралды 134 М.
Learn Tree traversal in 3 minutes 🧗
3:56
Bro Code
Рет қаралды 123 М.
Beginners Should Think Differently When Writing Golang
11:35
Anthony GG
Рет қаралды 124 М.
L53. Largest BST in Binary Tree
17:27
take U forward
Рет қаралды 166 М.
Top 7 Algorithms for Coding Interviews Explained SIMPLY
21:22
Codebagel
Рет қаралды 444 М.
Premature Optimization
12:39
CodeAesthetic
Рет қаралды 836 М.
Delete a node from Binary Search Tree
18:27
mycodeschool
Рет қаралды 1,1 МЛН