A Chrome extension that helps you pick random problems from your LeetCode study plans and problem lists, with an option to filter for unsolved problems only.
- Random Problem Selection - Pick a random problem from any LeetCode page with problem lists
- Unsolved Filter - Toggle to show only unsolved problems
- Smart Detection - Automatically detects both:
- ✅ Green checkmarks (solved in current study plan)
- ✅ Gray checkmarks (solved elsewhere)
- Clean UI - Simple, minimal popup interface
- Quick Access - One-click random problem selection
-
Clone this repository or download the ZIP file
git clone https://github.com/TanmayTiwarii/Leetcode_random_problem_extension.git
-
Open Chrome and navigate to
chrome://extensions/ -
Enable Developer mode (toggle in top right corner)
-
Click Load unpacked
-
Select the extension folder
-
The extension is now installed! 🎉
-
Navigate to any LeetCode page with a problem list (e.g., study plans, problem sets)
-
Click on the extension icon in your Chrome toolbar
-
(Optional) Check "Unsolved Only" to filter for unsolved problems
-
Click "Pick Random"
-
A random problem will open in a new tab!
- Vanilla JavaScript
- Chrome Extension Manifest V3
- Chrome Scripting API
├── manifest.json # Extension configuration
├── popup.html # Extension popup UI
├── popup.js # Popup logic
├── background.js # Background service worker
├── content.js # Content script (empty placeholder)
└── README.md # Documentation
- Problem Detection: Scans the current page for all LeetCode problem links
- Solved Status Check: Identifies checkmark SVGs to determine solved problems
- Filtering: Excludes solved problems if "Unsolved Only" is enabled
- Random Selection: Picks a random problem from the filtered list
- Navigation: Opens the selected problem in a new tab
Contributions are welcome! Feel free to:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Tanmay Tiwari
- GitHub: @TanmayTiwarii
Special thanks to:
- Priyanshu Raj (@priyanshuraj27) - Added the "Unsolved Only" filter feature
- Thanks to LeetCode for providing an excellent platform for coding practice
- Inspired by the need to randomly practice unsolved problems
If you have any questions or run into issues, please open an issue on GitHub.
Made with ❤️ for LeetCode enthusiasts