ProblemSolving
Problem solving from a few online judges such as codeforces, uva, spoj and coding practices from leetcode, hackerrank
Install / Use
/learn @atiq-cs/ProblemSolvingREADME
Documentation on Source Files
Example documentation of top of each source file looks like,
/***************************************************************************************************
* Title : Title or Name of the problem
* URL : Usually a problem number, for UVA it can just be a number
* Occasn: Occasion Contest or an event
* Date : Date the problem got accepted by judge
* Comp : Complexity, example, O(n), O(1) first one stands for time complexity and second one
* stands space complexity
* Status: Judge status by an online judge system i.e., Accepted, Wrong Answer, PresentationError
* Notes : Explanation, algorithm details
* ref : reference books/articles/links
* Ack : one or more persons who are acknowledged
* meta : tags of the problem prefixed with "tag-" i.e., tag-algo-dp, tag-two-pointers
***************************************************************************************************/
More Info
- meta which stands for meta-data, specifies what type of problem is it, categorizes the problem. For
example,
tag-algo-dpstands for dynamic programming algorithmic problem.tag-ds-bstwould mean data structure: binary search tree problem.
Searching on the Repository
To implement searching based on tags we added meta to each of the source file. During search have to
append tag- as prefix of the tag string. For example, to search on problems on linked-list: we
navigate to this repo url and enter following in the
search box: tag-ds-linked-list
Additionally, here are currently supported tags/classifications based on algorithm and data structure,
- Bit Manipulation
- Dynamic Programming
- Graph
- LCS
- LIS
- Linked List
- Priority Queue
- Recursion
- Sorting
- String
- Tree
Binary Tree, Heap and related tags are,
Graph algorithm tags,
Permutation, combination related problems,
Company based domains,
Contest based tags,
Miscellaneous tags
Language Feature based,
Tag Related Tips and Tricks,
Some notes,
- binary tree has tag-binary-tree and Binary Search Trees have
tag-ds-BST - Other tree problem has
tag-graph-tree - judges don't need te be tagged they are categorized by container directory names
Problem Solving Repository Structure
Basics
Contains some basic idea and implementation. For example,
- swap and overflow limit tests
- Sorting algorithms
Algorithms
Related with implementation of algorithms.
- Primary reference: Introduction to Algorithms - C.L.R.S, 3rd Ed.
- Related tag: algo-core
Data Structure
Reference: geeksforgeeks, wikipedia etc. Related tag: ds-core
Binary Tree
There are comparative large number of binary tree problems and their applications. We gather together all binary tree related problems here.
general-solving
leet-code, hackerrank, www.geeksforgeeks.org, lintcode etc
online-problem-solving
Following online judges are being covered,
- Codeforces
- Sphere Online Judge
- Timus Online Judge
- Saratov State University
- UVA Online Judge
- topcoder
- Tianjin Univ Online Judge System
coding-template
Currently, PSTool Powershell script is used to create templates for judges i.e., leetcode, codeforces.
Problem Solving C++ Templates
For more info on coding templates please visit our template wiki
Note
Please do not abuse code from this repository. The Code provided in this repository is for educational purpose. Sharing of ideas will enable hone our coding and programing language specific skills and grow our knowledge on algorithm related domains.
Related Skills
node-connect
351.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
