AlgoArena Documentation

Everything you need to know about competitive programming on AlgoArena. From your first battle to mastering advanced algorithms.

Quick Start Guide

1. Create Account
Sign up with your email and choose a username. Your journey begins here.
2. Setup Profile
Complete your profile and select your preferred programming languages.
3. Practice Mode
Start with practice problems to familiarize yourself with the interface.
4. Enter Battle
Join the matchmaking queue and compete against other developers.

Battle System

How Battles Work
1

Matchmaking

Our ELO system pairs you with opponents of similar skill level

2

Problem Selection

Both players receive the same algorithm problem simultaneously

3

Coding Phase

15-minute timer starts. Code your solution in real-time

4

Evaluation

Solutions are tested against hidden test cases for accuracy

Scoring System

Victory Conditions

  • Correctness: Solution passes all test cases
  • Speed: First to submit correct solution wins
  • Efficiency: Better time/space complexity scores higher

ELO Rating

  • • Win against higher-rated opponent: +25-40 ELO
  • • Win against similar-rated opponent: +15-25 ELO
  • • Loss: -10 to -30 ELO (based on opponent rating)

Problem Categories

Arrays & Strings
Two pointers, sliding window, string manipulation
Easy - Medium150+ problems
Linked Lists
Traversal, reversal, cycle detection, merging
Easy - Medium80+ problems
Trees & Graphs
DFS, BFS, shortest paths, tree traversals
Medium - Hard120+ problems
Dynamic Programming
Memoization, tabulation, optimization problems
Medium - Expert90+ problems
Sorting & Searching
Binary search, merge sort, quick sort variations
Easy - Hard70+ problems
System Design
Scalability, distributed systems, architecture
Hard - Expert40+ problems

Tips & Strategies

Battle Preparation

Before the Battle

  • • Review common algorithms and data structures
  • • Practice typing speed and code templates
  • • Familiarize yourself with the code editor

During the Battle

  • • Read the problem statement carefully
  • • Start with brute force, then optimize
  • • Test with edge cases before submitting
Ranking Up

Consistency is Key

  • • Practice daily, even if just 30 minutes
  • • Focus on understanding, not just solving
  • • Review your battle replays to learn

Advanced Techniques

  • • Master time and space complexity analysis
  • • Learn multiple approaches to each problem type
  • • Study opponent solutions after battles

Frequently Asked Questions

What programming languages are supported?

Currently, we support Python, JavaScript, Java, C++, and Go. More languages are being added based on community demand.

How does the ELO rating system work?

Your ELO rating changes based on battle outcomes and opponent ratings. Winning against higher-rated opponents gives more points, while losing costs fewer points. The system ensures fair matchmaking.

Can I practice problems without battling?

Yes! Use Practice Mode to solve problems at your own pace. This is perfect for learning new concepts or warming up before battles.

What happens if I disconnect during a battle?

If you disconnect, you have 2 minutes to reconnect. Your code is automatically saved. If you don't reconnect, the battle is forfeited.

Ready to Start Your Journey?

Join thousands of developers improving their algorithmic skills through competitive programming.