Sort | Learn for Master
  • Leetcode Intersection of Two Arrays

    Intersection of Two unsorted Arrays

    Given two arrays, write a function to compute their intersection.

    Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2].


    • Each element in the result must be unique.
    • The result can be in any order.


    Since the two arrays are unsorted, we can use HashSet to solve the problem easily.

    We can also solve the problem by first sorting the two arrays, and using the algorithm of finding intersection of two sorted arrays

    [Read More...]
  • Quicksort algorithm

    Quicksort is one of the most famous sort algorithms because of its average good performance. Because of its importance and popularity, it is usually asked in technique interviews. It is also important to master QuickSort as its partitioning technique can also be used to find the Kth largest or smallest element of an array in O(n) time with O(1) space complexity. 

    How quickSort algorithm works

    Given an array A[s … e], a pivot is chosen to rearrange the array into two parts: ALeft and Aright. All the elements in ALeft are less than or equal to the pivot,

    [Read More...]
  • Leetcode – Color Sort

    Given an array with n objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red, white and blue.

    Here, we will use the integers 0, 1, and 2 to represent the color red, white, and blue respectively.

    You are not suppose to use the library’s sort function for this problem.

    Follow up:
    A rather straight forward solution is a two-pass algorithm using counting sort.
    First, iterate the array counting number of 0’s, 1’s, and 2’s, then overwrite array with total number of 0’s,

    [Read More...]
  • Selection Sort Algorithm (Python)

    Selection sort is one of the simplest sorting algorithms. This tutorial described how to implement selection sort algorithm in python.

    The basic idea of selection sort is that it repeatedly select the smallest item in list A[i+1:], and exchange it with the item at A[i].

    It works as follows:

    1. Find the smallest item in the array, and exchange it with the first entry.
    2. Find the next smallest item in the array, and exchange it with the second entry.
    3. Continue such a process until the whole array is sorted.

    [Read More...]