BS-10. Finding Sqrt of a number using Binary Search

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 พ.ย. 2024

ความคิดเห็น • 241

  • @varun1017
    @varun1017 9 หลายเดือนก่อน +108

    The check "mid * mid

    • @anigaming7146
      @anigaming7146 9 หลายเดือนก่อน +2

      Thanks bro😊

    • @varun1017
      @varun1017 9 หลายเดือนก่อน

      @@anigaming7146 welcome

    • @pushankarmakar1783
      @pushankarmakar1783 9 หลายเดือนก่อน +7

      thanks brother, i was also thinking of the same issue but since there were no errors in the testcases so i ignored it. they can bring up this issue in an interview

    • @varun1017
      @varun1017 9 หลายเดือนก่อน

      @@pushankarmakar1783 all the best

    • @harshitrautela6585
      @harshitrautela6585 8 หลายเดือนก่อน +1

      Thanks for help.❤❤

  • @piyushraj5464
    @piyushraj5464 ปีที่แล้ว +15

    Had been desperately waiting for the series to restart. Thanks a lot.

  • @jasrajsehmbey
    @jasrajsehmbey ปีที่แล้ว +8

    You can also take high as n/2 rather than n intially as it is certain that ans will lie in a range of 1 to n/2

    • @takeUforward
      @takeUforward  ปีที่แล้ว +13

      Yes

    • @uditgarg6508
      @uditgarg6508 5 หลายเดือนก่อน

      i did the same initially

    • @gamer_bhai259
      @gamer_bhai259 2 หลายเดือนก่อน

      for 1 all write differently ri8>\]

  • @mihirkumar4770
    @mihirkumar4770 8 หลายเดือนก่อน +2

    int mySqrt(int n) {
    if(n==0)return 0;if(n==1)return 1;
    int ans=-1;
    int start=1;int end=n/2;
    while(start

  • @suyashmishra6946
    @suyashmishra6946 ปีที่แล้ว +10

    Understood!!
    Here are the time stamps:
    00:00 - 00:15 Intro
    00:16 - 1:15 -Problem description
    1:16 - 4:00 - Brute(linear)
    4:01-5:20 - Binary search intuition
    5:20 - 16:16 - Optimal solution
    16:17 - 16:45- code
    16:45 - 17:10 - outro

    • @Shanky_17
      @Shanky_17 ปีที่แล้ว +2

      Why bro? just why ??

    • @hoang640
      @hoang640 ปีที่แล้ว

      @@Shanky_17 Just love him for that

  • @indroneelgoswami5654
    @indroneelgoswami5654 3 หลายเดือนก่อน +2

    I solved this question without watching the video!!!
    OMG!!!
    STRIVER YOU BEAUTY!!!!!!!!!!!!!!!

  • @mayankshakya9200
    @mayankshakya9200 ปีที่แล้ว +14

    Correction at time 12:45 the time complexity of the brute force solution is not O(n) as suggested by striver but it is O(sqrt n) according to me as the loop will break after that condition always
    And plz striver bhaiya vidios jaldi jaldi daal do bhot wait kar liya

    • @champion5946
      @champion5946 ปีที่แล้ว +2

      thodi sharam kr... wo banda full time job me itna kr rha h... patience nhi h logo ko free ki chizz bhi jalid chaiye

    • @mayankshakya9200
      @mayankshakya9200 ปีที่แล้ว

      @@champion5946 chal na lavde aa thuu maine mana kiya kya ki wo efforts nahi maar raha striver ke liye 1000 percent izzat hai mere dil me and mere msg ka wo matlab nahi tha

    • @kumarshivam3661
      @kumarshivam3661 ปีที่แล้ว +6

      ​@@champion5946are didi placement hai next month se isliye thoda patience nhi rakh paa rhe log

  • @souviksen7345
    @souviksen7345 ปีที่แล้ว +8

    Always top level concept clearer ❤

  • @Dipanshutripathi2407
    @Dipanshutripathi2407 ปีที่แล้ว +2

    Hats Off to the content and it's creator ! Understood each and every part of the video.

  • @adarshkumarrao3478
    @adarshkumarrao3478 ปีที่แล้ว +25

    Excellent explanation ❣.. Waiting for linked list series💛💛

  • @iWontFakeIt
    @iWontFakeIt ปีที่แล้ว +8

    first naive approach had TC of O(sqrt(n)) but binary search has TC of O(log(n)) which is eventually slightly better than former one for very large values.

  • @Manishgupta200
    @Manishgupta200 ปีที่แล้ว +1

    Good to see from brute force approach to optimal approach.

  • @sohamchatterjee6934
    @sohamchatterjee6934 ปีที่แล้ว +2

    I aam doing dsa from tha last 6 months and i found u yesterday and now i am a fannnn...

    • @DR-mq1le
      @DR-mq1le ปีที่แล้ว +2

      hows your dsa prep going now , i just started , does it get any better?🤣

  • @sudhanshushekhar4222
    @sudhanshushekhar4222 ปีที่แล้ว +3

    Understood; but to be noted we can also take low = 1 and high = n/2 this also works because sqrt of a number is always less than or equal to n/2. But I guess here it do not matter as this will only reduce one iteration but if we are dealing with a program which regularly calculate the sqrt these one one iteration which is reduded might sum up and save a lot of time..[ just a random thought]

    • @abhimanyushekhawat2626
      @abhimanyushekhawat2626 ปีที่แล้ว +1

      What about 2?

    • @dhruvchopra26
      @dhruvchopra26 11 หลายเดือนก่อน

      @@abhimanyushekhawat2626 Works for 2 as well.

    • @artifice_abhi
      @artifice_abhi 11 หลายเดือนก่อน

      just right an if condition at the start @@abhimanyushekhawat2626

    • @vedikamishra009
      @vedikamishra009 17 วันที่ผ่านมา

      @@abhimanyushekhawat2626 for n=2 the answer is 1, if you carefully observe low = 1 high = 1 and mid is also 1*1

  • @saireddyreddy8969
    @saireddyreddy8969 9 หลายเดือนก่อน

    Your explanation is just awesome.

  • @subhankarkanrar9494
    @subhankarkanrar9494 9 หลายเดือนก่อน

    Respect to Striver ❤ for such a easy explanation

  • @impalash_ag
    @impalash_ag 4 หลายเดือนก่อน +2

    Hi Raj,
    I think the solution can be bit more efficient with the TC of O(log n/2) instead of O(log n). Since, we know square root of any number n can't be bigger than half of that number i.e, n/2 therefore we would take high as n/2 instead of n. Here's the code:
    class Solution {
    public int mySqrt(int x) {
    if(x == 1)
    return 1;
    int low = 1, high = x/2;
    int result = 0;
    while(low

    • @Josuke217
      @Josuke217 4 หลายเดือนก่อน

      @@impalash_ag good observation

    • @himanshukamble765
      @himanshukamble765 4 หลายเดือนก่อน

      yup i also thought of that

    • @higgsboson67
      @higgsboson67 4 หลายเดือนก่อน

      ​@@himanshukamble765 what about n=2 ?

    • @thanos8323
      @thanos8323 3 หลายเดือนก่อน

      @@higgsboson67 for n=2 the answer is 1, if you carefully observe low = 1 high = 1 and mid is also 1*1

  • @SuvradipDasPhotographyOfficial
    @SuvradipDasPhotographyOfficial ปีที่แล้ว +2

    amazing explanation striver, understood.

  • @lucario404
    @lucario404 ปีที่แล้ว +1

    we can check sqrt from 1(low) to n/2 (high) as well

  • @thetechmasum
    @thetechmasum ปีที่แล้ว +4

    using the concept of lower bound :
    private static int getSquareRoot(int n) {
    int low = 1;
    int high = n;
    while (low(long)(n)){
    high =(int) mid-1;
    }
    else {
    low =(int) mid +1 ;
    }
    }
    return low-1;
    }

  • @tripd4949
    @tripd4949 7 หลายเดือนก่อน

    Wow that was a very slick approach, good job.

  • @KarthikNandam-xs4qn
    @KarthikNandam-xs4qn หลายเดือนก่อน

    use the check value as if( mid

  • @SatyaPrakash-dj8ix
    @SatyaPrakash-dj8ix 6 หลายเดือนก่อน +2

    this is somewhat similar to Newton-Raphson method we use in engineering mathematics.

  • @oyeesharme
    @oyeesharme 3 หลายเดือนก่อน

    thanks bhaiya for your endless efforts

  • @pushankarmakar1783
    @pushankarmakar1783 9 หลายเดือนก่อน +5

    dada, cant we optimize it further by reducing the search space. we can keep high as n//2 initially cause a square root of a number can never be greater than half of the number.

  • @AtulKumar-c4x7l
    @AtulKumar-c4x7l ปีที่แล้ว

    understood..
    Thank you striver for such an amazing explanation

  • @cinime
    @cinime ปีที่แล้ว +1

    Understood! Awesome explanation as always, thank you very very much for your effort!!

  • @manavsingh5919
    @manavsingh5919 ปีที่แล้ว

    Thank you Striver...Understood everything🙂

  • @VishalGupta-xw2rp
    @VishalGupta-xw2rp ปีที่แล้ว +1

    If you observe then we don't really have to take high = n
    Because in all the cases we are only going till half of n.... Sooooo
    I think we can further reduce our search space 1 to n/2 and then apply binary search 👨‍💻

    • @muskan_bagrecha
      @muskan_bagrecha 10 หลายเดือนก่อน

      Right. Although even if you start with n, the first partition will end up dividing it into half. So should not make a huge difference. Also if you are considering n/2, we need to make sure we are not rounding down values like 1.

  • @AbhiSharma-ku7dq
    @AbhiSharma-ku7dq 4 หลายเดือนก่อน

    Thank you for creating such courses

  • @sushantguria8820
    @sushantguria8820 3 หลายเดือนก่อน +1

    Understood 🤘

  • @ashishpradhan6250
    @ashishpradhan6250 6 หลายเดือนก่อน

    understood clearly...thanks a lot, u have given me hope!

  • @Manasidas99
    @Manasidas99 ปีที่แล้ว

    Great video you made thank you very much sir waiting for the linked list Video.

  • @Josuke217
    @Josuke217 4 หลายเดือนก่อน

    Binary Search on answers finally !

  • @kumarshivam3661
    @kumarshivam3661 ปีที่แล้ว +6

    Striver Bhaiya please august end tak a to z sheet complete kra do

  • @VishalGupta-xw2rp
    @VishalGupta-xw2rp ปีที่แล้ว

    10:50 Opposite Polarity
    Lec 12, 13 also has

  • @avisoft-l2p
    @avisoft-l2p 3 หลายเดือนก่อน

    if we take high as n/2, then also we will get a desirable ans!
    US bhaiya

  • @parulvats
    @parulvats ปีที่แล้ว +3

    In pseudo code it was mentioned either we can return ans or high, but returning ans giving error

  • @graviton001
    @graviton001 4 หลายเดือนก่อน

    Was able to do it myself thnx ❤

  • @RaunitJaiswal-s9v
    @RaunitJaiswal-s9v 2 หลายเดือนก่อน

    Started 2 video karke sojaynege bhaya 😮😮

  • @mcbotface
    @mcbotface ปีที่แล้ว

    Largest integer or smallest integer are correct terminologies.

  • @umairislam505
    @umairislam505 หลายเดือนก่อน

    You are awesome brother

  • @hareshnayak7302
    @hareshnayak7302 8 หลายเดือนก่อน

    Understood, Thanks striver for this amazing video.

  • @shreyanshkumar4528
    @shreyanshkumar4528 ปีที่แล้ว

    Just awesome explanation.

  • @utsavseth6573
    @utsavseth6573 ปีที่แล้ว

    Understood RAJ.

  • @DeepakPatel-d5v
    @DeepakPatel-d5v 7 หลายเดือนก่อน +1

    Thanks a lot Bhaiya

  • @srilathareddy9450
    @srilathareddy9450 ปีที่แล้ว

    Superb explanation

  • @biryanibroseph210
    @biryanibroseph210 7 หลายเดือนก่อน

    awesome explanation sir

  • @sukhpreetsingh5200
    @sukhpreetsingh5200 ปีที่แล้ว +1

    ❤Awesome as usual

  • @kiransoorya7895
    @kiransoorya7895 5 หลายเดือนก่อน +1

    Bhaiya why can't we use high as n/2 instead of n at start in the function(instead of 28 we can use 14 ) 13:14

  • @amanasrani6405
    @amanasrani6405 4 หลายเดือนก่อน

    Understood Bhaiya

  • @ishasingh6726
    @ishasingh6726 ปีที่แล้ว +1

    Thank youuu striver❤

  • @AnmolGupta-oj4lm
    @AnmolGupta-oj4lm ปีที่แล้ว

    Understood Very Well!

  • @hrushi_borhade
    @hrushi_borhade ปีที่แล้ว

    Understood striver!!

  • @livinkumarsaravanan3781
    @livinkumarsaravanan3781 4 หลายเดือนก่อน

    Worth content 👍

  • @PrioritizingPeace
    @PrioritizingPeace 4 หลายเดือนก่อน

    27 July 2024 Saturday
    10:42 PM
    done ✅

  • @lshuarckyma
    @lshuarckyma หลายเดือนก่อน

    STRIVERS TIP = if one part of a vector / data strc can be fully eliminated from consideration then binary search can be used

  • @Spavan3011
    @Spavan3011 7 หลายเดือนก่อน +1

    What if we have to find exact ans not an integer?

  • @manusklm1161
    @manusklm1161 3 หลายเดือนก่อน

    checking if the (mid*mid==x) and returning mid before the actual "check" makes the code more efficient . am i right?

  • @YourCodeVerse
    @YourCodeVerse 11 หลายเดือนก่อน

    Understood✅🔥🔥

  • @DeadPoolx1712
    @DeadPoolx1712 3 หลายเดือนก่อน

    UNDERSTOOD;

  • @pradipkumarmukhi
    @pradipkumarmukhi หลายเดือนก่อน

    Understood
    😇

  • @keshavbiyani9202
    @keshavbiyani9202 6 หลายเดือนก่อน

    can someone explain how is linear O(N) ?? It will always be O(sqrt(N)) only right ?? Because for 28 we at max take 6 iterations.

  • @Aditi-do4im
    @Aditi-do4im 11 หลายเดือนก่อน

    you r incredible !!!!!!!!!!

  • @EC20022ELAKKIYAC
    @EC20022ELAKKIYAC 10 หลายเดือนก่อน

    Understood!!! Thank You

  • @arihantjammar8888
    @arihantjammar8888 ปีที่แล้ว

    UNDERSTOOD

  • @SYCOA12CHAITANYAASOLE
    @SYCOA12CHAITANYAASOLE 6 หลายเดือนก่อน

    Understood !! 😎😎

  • @sarangkumarsingh7901
    @sarangkumarsingh7901 6 หลายเดือนก่อน

    Understood.......

  • @sparrow_harsh
    @sparrow_harsh ปีที่แล้ว

    Can you come up with a video where we need to find square root upto decimal precision p

  • @NazeerBashaShaik
    @NazeerBashaShaik 7 หลายเดือนก่อน

    Understood, thank you.

  • @kushagramishra5638
    @kushagramishra5638 ปีที่แล้ว +1

    understood!

  • @vigneshlion9309
    @vigneshlion9309 11 หลายเดือนก่อน

    great video!❣

  • @AbhishekBhattacharjee-j2m
    @AbhishekBhattacharjee-j2m ปีที่แล้ว

    UNDERSTOOD

  • @mehedihasansabbir7886
    @mehedihasansabbir7886 ปีที่แล้ว

    Superb

  • @md.imrankhan6912
    @md.imrankhan6912 ปีที่แล้ว

    Legendary boss

  • @dhairyachauhan6622
    @dhairyachauhan6622 ปีที่แล้ว

    bhaiya please ek series bitmasking pe bhi bna dena. I know you already are busy.But jab ye playlist khatam ho jaye aur time mile then plese consider. If you have any recordings/ suggestions on how to learn toh please ek bar bta dena 😞😞😞

  • @roshangupta1686
    @roshangupta1686 11 หลายเดือนก่อน

    underatood

  • @ambaradhikari7425
    @ambaradhikari7425 ปีที่แล้ว

    waiting for linked list, bit manipulation and strings please

  • @UddhikaIshara
    @UddhikaIshara ปีที่แล้ว

    Thank you very much

  • @senseiAree
    @senseiAree ปีที่แล้ว

    Understood ❤

  • @MohammedHasmi577
    @MohammedHasmi577 7 หลายเดือนก่อน

    ❤❤great video bro

  • @raholsaha8191
    @raholsaha8191 ปีที่แล้ว

    great video

  • @priyeshtandel2101
    @priyeshtandel2101 ปีที่แล้ว

    Understood

  • @HARSHRAJ-wz2rp
    @HARSHRAJ-wz2rp 4 หลายเดือนก่อน

    The demand of Levis Tshirt increses from Tomorrow

  • @akbunofficial1281
    @akbunofficial1281 ปีที่แล้ว +2

    Hey!, can anyone tell , why this code is not working in one of the test cases of coding ninjas,(actually , i am unable to find that test cases on coding ninjas), but it is passing all test cases on gfg, if anyone can figure out?

    • @Simran-ns8gp
      @Simran-ns8gp 11 หลายเดือนก่อน +2

      Check the data type..mine was also not wokring but then I changed the data types to long long , it passed all the test cases

    • @muskan_bagrecha
      @muskan_bagrecha 10 หลายเดือนก่อน

      mine was failing for n = 1, as I had my upper bound at n/2 which was rounding it down to 0.

    • @Omi69-l4q
      @Omi69-l4q 6 หลายเดือนก่อน +1

      @@Simran-ns8gp i also changed but it is not working pls tell

  • @harshitjaiswal9439
    @harshitjaiswal9439 ปีที่แล้ว

    Understood!

  • @mrsttechno5974
    @mrsttechno5974 ปีที่แล้ว

    Understand

  • @rajashekar9912
    @rajashekar9912 ปีที่แล้ว

    Bhaiya plz start linked list series

  • @syedFAHIM-el1wr
    @syedFAHIM-el1wr ปีที่แล้ว

    Thanks you a lot,
    Can't thank enough

  • @crazymemes4080
    @crazymemes4080 ปีที่แล้ว

    Understood bhayaaaaaaaa

  • @dreamyme543
    @dreamyme543 ปีที่แล้ว

    Understood🙃

  • @ANURAGSINGH-nl2ll
    @ANURAGSINGH-nl2ll ปีที่แล้ว

    understood

  • @udaykiranmogalpau8292
    @udaykiranmogalpau8292 ปีที่แล้ว

    understood

  • @thedominatorscircle6762
    @thedominatorscircle6762 ปีที่แล้ว

    Bhi logic kayse build Karu kuch batao plzzzz

  • @parassetia4964
    @parassetia4964 5 หลายเดือนก่อน

    Understood boss^^

  • @suheabkhan2546
    @suheabkhan2546 ปีที่แล้ว

    Understood

  • @humanity7880
    @humanity7880 ปีที่แล้ว

    understood!

  • @undextered
    @undextered ปีที่แล้ว

    Great

  • @RaviKumar-sn6tu
    @RaviKumar-sn6tu 8 หลายเดือนก่อน

    understood!!

  • @AmanKumar-qz4jz
    @AmanKumar-qz4jz ปีที่แล้ว

    thank u sir