Skip to content

dinkar1708/coding_interview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

132 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Coding Interview Questions

A comprehensive collection of coding interview problems organized by algorithm topics and data structures. This repository contains solutions to problems from various platforms including Codility, LeetCode, and common interview questions.

Project Structure

The repository is organized by algorithm types and topics for easy navigation and focused practice:

Algorithms

  • arrays/ - Array manipulation problems

    • rotation/ - Array rotation algorithms
    • searching/ - Search algorithms, counting elements, finding leaders
    • subarrays/ - Maximum subarray, subset problems, Kadane's algorithm
  • dynamic_programming/ - Dynamic programming solutions

    • fibonacci/ - Fibonacci variations (top-down, bottom-up, matrix, formula)
    • knapsack/ - Knapsack problem implementations
    • coin_change/ - Coin change and combination problems
    • subsequence/ - Longest common subsequence, house robber, stock profit
  • strings/ - String manipulation problems

    • palindrome/ - Palindrome checkers
    • anagram/ - Anagram detection
    • pattern_matching/ - Word matching and pattern finding
  • prefix_sum/ - Prefix sum technique problems

  • sorting/ - Sorting algorithms and related problems

  • greedy/ - Greedy algorithm solutions

  • stack_queue/ - Stack and queue data structure problems

  • recursion/ - Recursive solutions

  • math/ - Mathematical algorithms (factorial, primes, divisors)

  • bit_manipulation/ - Binary operations and bit tricks

  • sliding_window/ - Sliding window technique (caterpillar method)

  • patterns/ - Number and shape pattern printing

Practice

  • practice/codility/ - Codility platform-specific problems
  • practice/interview_questions/ - Common interview questions

Resources

How to Use This Repository

For Interview Preparation

  1. By Topic: Navigate to specific algorithm folders to practice particular problem types
  2. By Difficulty: Start with basic problems in math/ and recursion/, then move to dynamic_programming/
  3. By Platform: Practice platform-specific problems in the practice/ directory

Study Approach

  • Each file contains working Python solutions with comments explaining the approach
  • Many files include complexity analysis and alternative solutions
  • Study the problem-solving patterns within each topic folder
  • Review multiple variations of similar problems (e.g., different Fibonacci implementations)

Contributing

Feel free to add more problems or improve existing solutions. When adding new problems:

  • Place them in the appropriate algorithm category
  • Include comments explaining the approach
  • Add time and space complexity analysis
  • Reference the problem source if applicable

About

Coding Interview Questions - Codility, Coding, Dynamic Programming, Recursion, Coding Optimization, Coding Complexity

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages