Coding · solutions & practice

Crack interviews. Master DSA.

Clean explanations. Multiple languages. Working code you can copy.

Easy · Array

1. Two Sum

Hash map approach · O(n) time, O(n) space.

View solution →
Medium · Linked List

2. Add Two Numbers

Iterative carry handling · O(n+m).

View solution →
Medium · String

3. Longest Substring No Repeat

Sliding window + set · O(n).

View solution →
Hard · Array · DP

4. Median of Two Sorted Arrays

Binary search partition · O(log min(m,n)).

View solution →
Easy · Tree

104. Max Depth of Binary Tree

Recursion + iterative BFS variants.

View solution →
Problem Solving · Easy

Diagonal Difference

Single-pass O(n) sum of both diagonals.

View answer →
SQL · Easy

Revising the Select Query

Filtered select on CITY table.

View answer →
Python · Medium

Word Order

OrderedDict-based count + insertion order.

View answer →
Java · Easy

Java Stdin and Stdout I

Scanner pattern boilerplate.

View answer →
Foundation

Big-O without the math

Pictures-first intro to time/space complexity.

Read tutorial →
Arrays · Sliding Window

Sliding window template

One pattern, 12 problems solved.

Read tutorial →
Trees · Traversals

BFS vs DFS, when to use which

Iterative + recursive code in 4 languages.

Read tutorial →
Graphs

Dijkstra explained simply

Heap-based shortest path with visualisation.

Read tutorial →
DP

DP roadmap (50 problems)

Patterns: 1D, 2D, knapsack, LIS, intervals.

Read tutorial →
System Design

Design URL shortener

Hashing, base62, sharding strategies.

Read tutorial →

Hello World in C

#include <stdio.h>

int main(void) {
    printf("Hello, inaiyamko!\n");
    return 0;
}
Basics

Variables & data types

int, float, char, double — sizes & ranges.

Read lesson →
Pointers

Pointers without fear

Address-of, dereference, pointer arithmetic.

Read lesson →
Memory

malloc / free patterns

Avoid leaks. RAII-ish wrappers in pure C.

Read lesson →
Practice

50 C programs for beginners

Loops, arrays, strings, recursion — solved.

Browse →

FizzBuzz, the Pythonic way

for i in range(1, 101):
    print("FizzBuzz" if i % 15 == 0
          else "Fizz" if i % 3 == 0
          else "Buzz" if i % 5 == 0
          else i)
Beginner

FizzBuzz · 5 ways

From naive to one-liner. Time complexity for each.

View solutions →
Strings

Palindrome check

Two-pointer · slicing · recursion variants.

View solutions →
Lists

Flatten nested list

itertools.chain · recursion · stack-based.

View solutions →