Index for Coding Problems
Master index of all coding problems covered on GyanByte — sorted by category: sorting, data structures, trees, graphs, arrays, strings, and LeetCode solutions.
Technical essays, architectural deep-dives, and practical guides at the intersection of code and design.
Page 22 of 28
Master index of all coding problems covered on GyanByte — sorted by category: sorting, data structures, trees, graphs, arrays, strings, and LeetCode solutions.
What a heap data structure is, how it's stored as an array, and the difference between max-heap and min-heap properties with parent-child index math.
Core software design principles — encapsulation, programming to interfaces, composition over inheritance, loose coupling, and SOLID — explained with practical examples.
A collection of useful Python 3 tricks and magical methods for writing concise and elegant code.
A collection of useful GitHub web shortcuts that boost productivity when navigating repositories.
Tips for during the coding interview — how to approach problems, communicate with your interviewer, and avoid common mistakes.
Find the contiguous subarray with the maximum sum using divide-and-conquer and Kadane's algorithm, with time complexity analysis.
Learn Quick Sort — pick a pivot, partition the array so smaller elements go left and larger go right, then recurse. Includes Java code and complexity analysis.
Count the number of inversions in an array — pairs where a larger element appears before a smaller one. Solved using a modified merge sort.
Learn Merge Sort — a divide-and-conquer algorithm that splits the array into halves, sorts each recursively, then merges them back. Includes Java code.
Learn how Bubble Sort works — repeatedly compare and swap adjacent elements to bubble the largest to the end. Includes Java code and complexity analysis.
Quick reference for coding interview terms — Big-O notation, time vs space complexity, stable vs unstable sorts, in-place algorithms, and common complexity classes.