Contents

AlgoExpert Practice (Searching, Sorting, Greedy)

Searching

Search in Sorted Matrix

Unfold:
Unfold:

Search for Range

Unfold:
func searchRange(nums []int, target int) []int {
    start := lowerBound(nums, target)
    if start == len(nums) || nums[start] != target{
        return []int{-1, -1}
    }
    end := lowerBound(nums, target+1) - 1
    return []int{start, end}
}

func lowerBound(nums []int, target int)int{
    left, right := 0, len(nums)-1
    for left <= right{
        mid := left+(right-left)/2
        if nums[mid] < target{
            left = mid+1
        }else{
            right = mid - 1
        }
    }
    return left
}

Index Equals Value

Unfold:

Median of Two Sorted Arrays

Unfold:

Optimal Assembly Line

Unfold:

Sorting

Bubble Sort

Insertion Sort

Selection Sort

Three Number Sort

Unfold:

Quick Sort

Heap Sort

Radix Sort

Unfold:

Merge Sort

Unfold:

Count Inversions

Unfold:

Greedy Algorithms

Optimal Freelancing

Unfold:

Valid Starting City

Unfold: