HackerRank
HackerRank
  • 101
  • 7 046 295

Video

HR.main() London
Views 8183 months ago
HRmain() 2019
Views 1.1K5 months ago
HackerRank on CNBC
Views 9K2 years ago
Algorithms: Recursion
Views 295K3 years ago
Algorithms: Binary Search
Views 314K3 years ago
Algorithms: Quicksort
Views 476K3 years ago
Algorithms: Merge Sort
Views 305K3 years ago
Algorithms: Bubble Sort
Views 159K3 years ago
Data Structures: Trees
Views 413K3 years ago
Data Structures: Tries
Views 215K3 years ago
Data Structures: Heaps
Views 496K3 years ago
Big O Notation
Views 774K3 years ago
What is an API?
Views 5K3 years ago
Re-engineer SF
Views 2.1K4 years ago

Comments

  • S Pock
    S Pock 8 hours ago

    A few times when it's easier to read a book than watch a video...

  • Devil Slayer666
    Devil Slayer666 13 hours ago

    I’m here for Minecraft

  • Anu Anupama
    Anu Anupama Day ago

    Mujhe to apki language hi nhi smjh as rhi h mam sorry

  • Yunan Zhang
    Yunan Zhang 2 days ago

    I feel that you gave a wrong demonstration, or at least not the origianl Quick Sort Algorithm....

    • Yunan Zhang
      Yunan Zhang 2 days ago

      The swap mechanism is bit odd to me, since you were swaping the two component directly compared to pivot. While the original method shift pivot to very end, and build 【smaller than pivot <-|-> larger than pivot】 on the go, and then eventually swap the pivot to the center.

  • GoogleMe
    GoogleMe 2 days ago

    Does that means that every single child has 26 childrens ? Isn't that a lot of memory usage?

  • J3fro C
    J3fro C 2 days ago

    So linked list are actually objects that point to another object? And at 2:30 when you write 'Node next' does the program already know what 'next' does? Is 'Node next' like a method that is predefined within the program??

  • Mehrdad Karami
    Mehrdad Karami 3 days ago

    Should update visited to true in DFS

  • irini sh
    irini sh 3 days ago

    what if there were 12 numbers instead of 11? What would be the mid then?

  • Shawn Blind
    Shawn Blind 5 days ago

    Mr Dagobert Decker's strategy has proven to be functional, I get a weekly payout of £16,750 like clock work. dagobertdecker112 (a) G.m.a.i.l. c.o.m

  • Shuvo Sarker
    Shuvo Sarker 5 days ago

    I stopped watching the video when I saw the code is written in Java. Java makes me angry!!!!!!!!!!!!!!!!!!!!!

    • Shuvo Sarker
      Shuvo Sarker 2 days ago

      @rjlacanlaled Agreeed

    • rjlacanlaled
      rjlacanlaled 3 days ago

      if you wanna be a good software engineer, language shouldn't matter. it's all about concept, programming languages are just tools.

  • Muhammad Mohib Khan

    wont the size be equal to 0 if there is no region (no 1 in grid)? then size and maxRegion would both be 0, whereas size would be greater than maxRegion in all other cases. So do we really need to compare size with maxRegion instead of directly assigning size?

  • Raj Yadav
    Raj Yadav 6 days ago

    I am her big fan in this programming world..

  • Stas
    Stas 6 days ago

    nice vid + another way to implement quicksort

  • David
    David 6 days ago

    Shouldn't the heap be implemented using an arrayList, not an array, since it is dynamic? Or is that just in Java

    • rjlacanlaled
      rjlacanlaled 3 days ago

      I think she used a fixed-size array for simplicity, but as you can see she has an ensureCapacity() method that imitates the behavior of an ArrayList which doubles its capacity when there isn't enough space for the new element.

  • Gagandeep Singh
    Gagandeep Singh 7 days ago

    Thanks Gayle McDowell

  • Ajeet Kushwaha
    Ajeet Kushwaha 7 days ago

    Thanks

  • Արման
    Արման 7 days ago

    You have already got the location and i indices in the context of the for loop, why do you even need the indexOf? My brain hurts...

    • Ashmeet Singh
      Ashmeet Singh 3 days ago

      We got the location and i indices for the sorted array, but for the question we need the indices of the original unsorted array. So we have to do an index of.

  • TheDEMMX
    TheDEMMX 7 days ago

    What's up with that book with Russian title in the background, can you read Russian?

  • ILuv Billi
    ILuv Billi 7 days ago

    i dont have my own time

  • Syed Muqeet
    Syed Muqeet 8 days ago

    I got confused with stack push pop operation

  • haxpor
    haxpor 8 days ago

    Perfect explanation.

  • Bruno Negrao Zica
    Bruno Negrao Zica 10 days ago

    Excellent video

  • Jonas Grønbek
    Jonas Grønbek 10 days ago

    That butterfly keyboard sound 😕

  • ctbram0627
    ctbram0627 11 days ago

    Your memoized countPaths should have paths[row, col] = countPaths(grid, row+1, col, paths) + coutPaths(grid, row, col+1, paths); Also, I wrote this up in c# and I find it interesting that the non-memoized version always seems to be faster than the memoized version??? 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 1 1 1 0 0 0 1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 non-memoized paths = 72 Elapsed time non-memoization: 0.7299ms memoized paths = 72 Elapsed time memoization: 1.1516ms Where the memoized code is: public static int CountPathsMemo(int[,] grid, int row, int col, int[,] paths) { if (!ValidSquare(grid, row, col)) { return 0; } if (IsAtEnd(grid, row, col)) { return 1; } if (paths[row, col] == 0) { paths[row, col] = CountPathsMemo(grid, row + 1, col, paths) + CountPathsMemo(grid, row, col + 1, paths); } return paths[row, col]; }

  • Teklie Belay
    Teklie Belay 11 days ago

    You're one of the best online teachers I've ever seen. Keep shining!

  • Manoel Ramon
    Manoel Ramon 11 days ago

    left+((right-left)/2 still can overflow

  • Sahil Rally
    Sahil Rally 12 days ago

    Crisp and Clear, Cheers!

  • Gustav Gnöttgen
    Gustav Gnöttgen 12 days ago

    Archikaps

  • 黃羽賢
    黃羽賢 13 days ago

    is there anything wrong in line 32??? I think the condition of the "if function" should be (left>right)

  • Johann Sebastian Bach

    So, did Hitchcock make a DDOS attack in "The Birds"?

  • DHIRAJ KAUSHIK
    DHIRAJ KAUSHIK 13 days ago

    Super easy explanation

  • Kitto Hernandes
    Kitto Hernandes 14 days ago

    Noob question: What language is she using? Thanks!

  • Jim Pab
    Jim Pab 14 days ago

    /*The only tree structure video with a conprehensible accent*/

  • sanchit sharma
    sanchit sharma 15 days ago

    what that *p,*temp; in the comments of below program ?? struct node{ int item; struct node *next; } new_node; // *p , *head,*temp;

  • Daniel Cojocaru
    Daniel Cojocaru 15 days ago

    "And first S goes to node A". And you point to node H. What the????????? Put some heart into it.

  • SchwedenMein Heimatland

    Thank you.

  • VagMan MTB
    VagMan MTB 16 days ago

    how do we search a key in a heap? Can anyone give any advice ?

    • XinSen Jiang
      XinSen Jiang 15 days ago

      they're sorted in an array format, just run a for loop and compare the value

  • Neddier
    Neddier 17 days ago

    Im sitting for half a year with this and cant do it at all from scratch let alone writing function for it . Everyone have diffirent way of doing this , so i cant really get it how to make it (in C)

  • Tom Yang
    Tom Yang 17 days ago

    array is not sorted what happens after the 2 indexes meet at the middle ? It's 12 3 4 65 9. How does the 6 move after the 5 then

  • Saurabh Patil
    Saurabh Patil 18 days ago

    findCount() code is difficult to understand because before starting to write the code she didn't explain in plain English what findCount() is supposed to do. Here it is -- findCount() would find the number of strings that start with the prefix that is in the input. Now this should also work if we get a String that we haven't yet stored in our contact's list at all, and that's where it gets tricky. I would argue that we should only accept the String as input and there is no need for parameter index. Note that, if the purpose of findCount() is to return the count of that exact string then this method would fail, it should be named to findPrefixCount().

  • Brian Otte
    Brian Otte 19 days ago

    This was fantastic! I'm so grateful this is on TheXvid

  • Jonathan Montgomery
    Jonathan Montgomery 19 days ago

    We need some O(log n) and O(n log n).

  • Shaik Masthan
    Shaik Masthan 19 days ago

    That is an amazing explanation. I have two questions 1. Does the deleted node garbage collected? 2. How to delete a node with duplicate data. I.e.If there are multiple nodes with same data and we want to delete the last data Node. ? How do we differentiate the two nodes with same data ?

  • Ryan Bandler
    Ryan Bandler 20 days ago

    For my algorithms class our first little project is to write a recursive c++ function that reverses words in a sentence. Example: Input: “hello to everyone reading” Output: “reading everyone to hello” No vectors or stacks allowed and the function can’t return anything. Surprisingly difficult.

  • rahil471
    rahil471 21 day ago

    The only catch is that deleteBtValue won't delete duplicate values.

  • Gran Alcantara
    Gran Alcantara 21 day ago

    very confusing content

  • Happydoodle Pa
    Happydoodle Pa 21 day ago

    does anyone know why we have to create "current" instead of using "head" in append?

  • Kweayon Clark
    Kweayon Clark 22 days ago

    I am still on the fact that they even got a pigeon to fly 50 miles to a building, like how does it even know which building to go to?

  • Arvind Sinha
    Arvind Sinha 23 days ago

    logic is working.

  • Aditya Chawla
    Aditya Chawla 23 days ago

    At 2:51 How do you know that the element at the top will still be minimum after insertion?

  • colinkanobe
    colinkanobe 24 days ago

    Slowly unwinding this algorithm. Question all those while loops in the partition isn’t showing worst case time complexity of O(n^2) ?

  • Zinfandel Rookie
    Zinfandel Rookie 25 days ago

    nonsensical explanation! don't waste your time on this video!

  • Karthik Unboxed
    Karthik Unboxed 27 days ago

    I think it was confusing because the voice over is little ahead so when she says "I'm gonna call it 's' " - it doesn't appear making us look at the node with value 'S'

  • Khayam Gondal
    Khayam Gondal 27 days ago

    Why not just use varible named start and end instread of leftStart and rightEnd? These makes it sound more complex.

  • Khayam Gondal
    Khayam Gondal 27 days ago

    I don't know how she makes simple things sound so complex and hard to understand.

  • TheGoldenHawkz
    TheGoldenHawkz 28 days ago

    Love your video! very clear and concise

  • Joshua Kisb
    Joshua Kisb 29 days ago

    wow... that code is quite lovely

  • Menino 01
    Menino 01 Month ago

    se fude, chata pra caralho, mas a sandrinha é top

  • KhoPhi
    KhoPhi Month ago

    aka Maps

  • JinkProject
    JinkProject Month ago

    her voice is so annoying

  • anjani agrawal
    anjani agrawal Month ago

    For Queue, add. If head is null shouldn't head and tail both be assigned to Node?

    • Sonjeet Paul
      Sonjeet Paul 13 days ago

      That is what she's done there. In the add method she will always set the tail to the node. And if head is null, she has also set head to the node. This means head and tail points to the same node

  • Isselmou Sneiguel

    Do it slowly please. take your time and explain it line by line. You are using many hashSets why ? It's very confusing!! Thank you for the effort anyway

  • LeikoLaboeProduction

    at 8:33 that cell should have zero paths... since the block above and to the left are both blocked off, there is no way for the little man to ever stand on that square?!

  • Florence Chan
    Florence Chan Month ago

    I think the error is not with the sorting of the values -- that is perfectly correct. The error is with where the left and right indices have ended. Left and right should criss-cross (at least from the code from my University notes) so in the first partition left ends at index 5 and right at index 4. This is further validated if you reuse this idea for the quick select algorithm.

  • Jonathan Doster
    Jonathan Doster Month ago

    Splendid! Thank you.

  • Stephanie C
    Stephanie C Month ago

    8:54 You lost me. All I see is Minesweeper

  • Abhishek Gautam
    Abhishek Gautam Month ago

    Awesome Explanation!

  • uber mensch
    uber mensch Month ago

    this woman has probably saved my life

  • John Fernandez
    John Fernandez Month ago

    I started both fast and slow at head and did the increment before the comparison but its not passing all of the tests on leetcode, namely the last one that doesnt have a cycle

  • Mort Kebab
    Mort Kebab Month ago

    What ways are there to turn more complex trees into binary trees?

  • Java Programmer
    Java Programmer Month ago

    Where do I add adjacent nodes to source node to build graph can you please post that code

  • nicholus talemwa
    nicholus talemwa Month ago

    Iterative binary search would be right if you changed: right = mid+1; and also left = mid-1; Thank you.

    • Jamshad Ahmad
      Jamshad Ahmad Month ago

      no, right = mid - 1; and left = mid + 1; is right. Try implementing it yourself.

  • spookysama
    spookysama Month ago

    triangles have 1 2 3 lines the least amount possible to make a shape besides 0 a circle. lets say we have triangle xyz and all we know is 1 2 3. if we cycle though both of them back and forth we get infinite yet each set represents 0 and 1 1 x 2 3 y z

  • uber mensch
    uber mensch Month ago

    Imagine Gayle McDowell in your other coding window, how intimidating would that be!

  • James Calcagni
    James Calcagni Month ago

    is it okay to name both boolean functions the same "checkBST" as is the way she has it? don't they need to be different?

    • Önder Can Sarı
      Önder Can Sarı Month ago

      Yes, this is a common OOP concept named method overloading. As long as the parameter types or number of parameters are different in each function, proper one is called depending on the given parameter set.

  • BLYAT
    BLYAT Month ago

    Soothing keystrokes.

  • Vishlesh Patel
    Vishlesh Patel Month ago

    this is a great video! Thanks for explaining. Can the same technique be used to heapify an unsorted array ? basically keep inserting an element in heap data structure? is there an implementation exist in any github repo?

  • karan bopche
    karan bopche Month ago

    has parent method is wrong. it will return true for index 0 which is the first node and does not have a parent. it should be like private boolean hasParent(int index) {return index > 0; }

  • J
    J Month ago

    could use a proper font for your code. it's difficult to read code in that font

  • Samuel Zrna
    Samuel Zrna Month ago

    But what if you want to delete the head and if the head is the only node in the linked list?

  • Grease quala
    Grease quala Month ago

    You have Russian and Korean books on your desk. !! BTW you are so beautiful. I am in LOVE !

  • HARSHIT M
    HARSHIT M Month ago

    Storing the heap in the form of an array just blew my mind...so effective

  • Jayesh choudhary
    Jayesh choudhary Month ago

    good that she wrote the book because her voice is sometime annoying

  • TheresaShen3397
    TheresaShen3397 Month ago

    Can someone please explain to me why in the DFS, we return false as soon as we found the node was already visited. While in BFS we continue when we found the node was visited? 🤔

  • Ghabriel Mielli
    Ghabriel Mielli Month ago

    This explanation is freaking awesome

  • Nathanael Bennett

    Great explanation of Big O but for the love of god please use a readable font for those coding snippets.

  • San Andreas Puns
    San Andreas Puns Month ago

    Me before watching video: subscribes After watching: unsub

  • Gu Yaochu
    Gu Yaochu Month ago

    这个解释也太蠢了,还好不是我一个人这么评论,这个程序员让我怀疑人生

  • ll
    ll Month ago

    God why the white background WHY

  • Ruy Perez
    Ruy Perez Month ago

    Thank you ! It really helps a lot !

  • Aisha Kassim
    Aisha Kassim Month ago

    good video, change the font next time and perhaps introduce the coins to those that are international so we can better understand the video.

  • taheen 2008
    taheen 2008 Month ago

    man i didnt get a thing lol

  • Spencer Koss
    Spencer Koss Month ago

    Yeah, I don't intend this to be negative. However, I think your strategy to break down Hash Tables is too messy. I would refrain from adding unnecessary clutter on your video (Left Column) and simply just talk about it. This would probably help out the most when trying to break down a complex Data Structure into something more easily understandable! No offense! We are all here trying to learn. Thanks for posting!

  • Jesus Lopez
    Jesus Lopez Month ago

    greattt explanation!!!

  • FILIDJI
    FILIDJI Month ago

    Did someone implement this in Java ? I'm getting lots of bugs while testing the algorithm...

  • Congo Beast
    Congo Beast Month ago

    in which language was this written in