This github repository OxDSA is dedicated to the study and implementation of various data structures and algorithms Whether you are a beginner looking to learn the basics or an experienced programmer seeking to improve your skills, this repository has something for everyone. So come join us and dive into the world of data structures and algorithms!
- Create a root folder for the repository to keep all the files organized.
- For create a new folder checkout already exists one and naming pattern.
- Create a readme.md file in each question folder to explain the problem and provide a brief overview of the solution.
- Use meaningful names for the folders and files to make it easier to understand and maintain, for gfg using question name as folder name in Pascal case.
- Keep the solution code in the respective question folder to maintain the structure of the repository.
- Use clear and concise language in the readme.md files to explain the problem and solution.
- Include any necessary information or resources required to understand the solution in the README.md file.
- Use proper formatting and markdown in the README.md file for better readability.
- Keep the repository up-to-date with the latest changes and updates.
- Use version control with Git to keep track of changes and revert if necessary.
- Use branches for different features or solutions to keep the master branch clean.
- Use pull requests to review and merge changes before pushing to the master branch.
- Document any assumptions or limitations in the solution in the README.md file.
- Keep the repository well-organized and clean, removing any unnecessary files or folders.
- Regularly check for and respond to issues or pull requests in a timely manner.
Data Structure and Algorithms (DSA) can be implemented using various programming languages and technologies, but some of the most commonly used ones are:
- C++ : A popular and widely used programming language, known for its speed and efficiency in implementing algorithms.
- Java : A widely used programming language with a rich API and libraries, used for implementing various algorithms and data structures.
- Python : A high-level programming language known for its simplicity and readability, commonly used for implementing various algorithms and data structures.
- JavaScript : A popular web-based programming language widely used for developing client-side applications, also used for implementing some basic algorithms.
- Rust : A systems programming language with a focus on speed and performance, also used for implementing some DSA problems.
- SQL : A popular language used for database management and manipulation, also used for some simple DSA problems.
I have divided string problem in different category.
- https://leetcode.com/problems/generate-parentheses
- https://leetcode.com/problems/score-of-parentheses
- https://leetcode.com/problems/valid-parentheses
- https://leetcode.com/problems/valid-parentheses
- https://leetcode.com/problems/remove-outermost-parentheses
- https://leetcode.com/problems/different-ways-to-add-parentheses
- https://leetcode.com/problems/remove-invalid-parentheses
- https://leetcode.com/problems/minimum-remove-to-make-valid-parentheses
- https://leetcode.com/problems/maximum-nesting-depth-of-the-parentheses
- https://leetcode.com/problems/longest-valid-parentheses
- https://leetcode.com/problems/number-of-wonderful-substrings
- https://leetcode.com/problems/sum-of-beauty-of-all-substrings
- https://leetcode.com/problems/maximum-number-of-occurrences-of-a-substring
- https://leetcode.com/problems/number-of-wonderful-substrings
- https://leetcode.com/problems/isomorphic-strings
- https://leetcode.com/problems/valid-anagram
- https://leetcode.com/problems/additive-number
- https://leetcode.com/problems/buddy-strings
- https://leetcode.com/problems/longest-happy-prefix
- https://leetcode.com/problems/increasing-decreasing-string
- https://leetcode.com/problems/check-if-a-string-can-break-another-string
- https://leetcode.com/problems/determine-if-two-strings-are-close
- https://leetcode.com/problems/check-if-two-string-arrays-are-equivalent
- https://leetcode.com/problems/check-if-word-equals-summation-of-two-words
- https://leetcode.com/problems/check-if-one-string-swap-can-make-strings-equal
- https://leetcode.com/problems/palindrome-partitioning
- https://leetcode.com/problems/palindrome-partitioning-ii
- https://leetcode.com/problems/valid-palindrome
- https://leetcode.com/problems/shortest-palindrome
- https://leetcode.com/problems/palindrome-pairs
- https://leetcode.com/problems/longest-palindrome
- https://leetcode.com/problems/longest-palindromic-subsequence
- https://leetcode.com/problems/find-the-closest-palindrome
- https://leetcode.com/problems/palindromic-substrings
- https://leetcode.com/problems/valid-palindrome-ii
- https://leetcode.com/problems/longest-chunked-palindrome-decomposition
- https://leetcode.com/problems/break-a-palindrome
- https://leetcode.com/problems/can-make-palindrome-from-substring
- https://leetcode.com/problems/palindrome-partitioning-iii
- https://leetcode.com/problems/minimum-insertion-steps-to-make-a-string-palindrome
- https://leetcode.com/problems/remove-palindromic-subsequences
- https://leetcode.com/problems/construct-k-palindrome-strings
- https://leetcode.com/problems/split-two-strings-to-make-palindrome
- https://leetcode.com/problems/sort-characters-by-frequency
- https://leetcode.com/problems/custom-sort-string
- https://leetcode.com/problems/longest-duplicate-substring
- https://leetcode.com/problems/longest-string-chain
- https://leetcode.com/problems/longest-common-subsequence
- https://leetcode.com/problems/longest-happy-string
- https://leetcode.com/problems/maximum-length-of-a-concatenated-string-with-unique-characters
- https://leetcode.com/problems/find-longest-awesome-substring
- https://leetcode.com/problems/largest-substring-between-two-equal-characters
- https://leetcode.com/problems/largest-odd-number-in-string
- https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/
- https://leetcode.com/problems/3sum/
- https://leetcode.com/problems/4sum/
- https://leetcode.com/problems/number-of-subsequences-that-satisfy-the-given-sum-condition/
- https://leetcode.com/problems/two-sum-iv-input-is-a-bst/
- https://leetcode.com/problems/sum-of-square-numbers/
- https://leetcode.com/problems/boats-to-save-people/
- https://leetcode.com/problems/minimize-maximum-pair-sum-in-array/
- https://leetcode.com/problems/3sum-with-multiplicity/
- https://leetcode.com/problems/trapping-rain-water/
- https://leetcode.com/problems/container-with-most-water/
- https://leetcode.com/problems/next-permutation/
- https://leetcode.com/problems/next-greater-element-iii/
- https://leetcode.com/problems/minimum-adjacent-swaps-to-reach-the-kth-smallest-number/
- https://leetcode.com/problems/valid-palindrome/
- https://leetcode.com/problems/reverse-string/
- https://leetcode.com/problems/reverse-vowels-of-a-string/
- https://leetcode.com/problems/valid-palindrome-ii/
- https://leetcode.com/problems/reverse-only-letters/
- https://leetcode.com/problems/remove-element/
- https://leetcode.com/problems/sort-colors/
- https://leetcode.com/problems/flipping-an-image/
- https://leetcode.com/problems/squares-of-a-sorted-array/
- https://leetcode.com/problems/sort-array-by-parity/
- https://leetcode.com/problems/sort-array-by-parity-ii/
- https://leetcode.com/problems/pancake-sorting/
- https://leetcode.com/problems/reverse-prefix-of-word/
- https://leetcode.com/problems/reverse-string-ii/
- https://leetcode.com/problems/reverse-words-in-a-string/
- https://leetcode.com/problems/reverse-words-in-a-string-iii/
- https://leetcode.com/problems/bag-of-tokens/
- https://leetcode.com/problems/di-string-match/
- https://leetcode.com/problems/minimum-length-of-string-after-deleting-similar-ends/
- https://leetcode.com/problems/sentence-similarity-iii/
- https://leetcode.com/problems/find-k-closest-elements/
- https://leetcode.com/problems/shortest-distance-to-a-character/
- https://leetcode.com/problems/linked-list-cycle/
- https://leetcode.com/problems/linked-list-cycle-ii/
- https://leetcode.com/problems/remove-nth-node-from-end-of-list/
- https://leetcode.com/problems/rotate-list/
- https://leetcode.com/problems/reorder-list/
- https://leetcode.com/problems/palindrome-linked-list/
- https://leetcode.com/problems/find-the-duplicate-number/
- https://leetcode.com/problems/circular-array-loop/
- https://leetcode.com/problems/number-of-subarrays-with-bounded-maximum/
- https://leetcode.com/problems/find-k-th-smallest-pair-distance/
- https://leetcode.com/problems/moving-stones-until-consecutive-ii/
- https://leetcode.com/problems/count-pairs-of-nodes/
- https://leetcode.com/problems/count-binary-substrings/
- https://leetcode.com/problems/k-diff-pairs-in-an-array/
- https://leetcode.com/problems/string-compression/
- https://leetcode.com/problems/last-substring-in-lexicographical-order/
- https://leetcode.com/problems/remove-duplicates-from-sorted-array/
- https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/
- https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/
- https://leetcode.com/problems/duplicate-zeros/
- https://leetcode.com/problems/statistics-from-a-large-sample/
- https://leetcode.com/problems/partition-labels/
- https://leetcode.com/problems/magical-string/
- https://leetcode.com/problems/friends-of-appropriate-ages/
- https://leetcode.com/problems/longest-mountain-in-array/
- https://leetcode.com/problems/shortest-subarray-to-be-removed-to-make-array-sorted/
- https://leetcode.com/problems/merge-sorted-array/
- https://leetcode.com/problems/heaters/
- https://leetcode.com/problems/find-the-distance-value-between-two-arrays/
- https://leetcode.com/problems/intersection-of-two-linked-lists/
- https://leetcode.com/problems/intersection-of-two-arrays/
- https://leetcode.com/problems/intersection-of-two-arrays-ii/
- https://leetcode.com/problems/implement-strstr/
- https://leetcode.com/problems/longest-word-in-dictionary-through-deleting/
- https://leetcode.com/problems/long-pressed-name/
- https://leetcode.com/problems/longest-uncommon-subsequence-ii/
- https://leetcode.com/problems/compare-version-numbers/
- https://leetcode.com/problems/camelcase-matching/
- https://leetcode.com/problems/expressive-words/
- https://leetcode.com/problems/partition-array-into-two-arrays-to-minimize-sum-difference/
- https://leetcode.com/problems/closest-subsequence-sum/
- https://leetcode.com/problems/ways-to-split-array-into-three-subarrays/
- https://leetcode.com/problems/3sum-closest/
- https://leetcode.com/problems/valid-triangle-number/
- https://leetcode.com/problems/shortest-unsorted-continuous-subarray/
- https://leetcode.com/problems/most-profit-assigning-work/
- https://leetcode.com/problems/largest-merge-of-two-strings/
- https://leetcode.com/problems/swap-adjacent-in-lr-string/
- https://leetcode.com/problems/substring-with-concatenation-of-all-words/solutions
- https://leetcode.com/problems/find-all-anagrams-in-a-string/solutions/
- https://leetcode.com/problems/permutation-in-string/
- https://leetcode.com/problems/maximum-average-subarray-i/
- https://leetcode.com/problems/find-k-length-substrings-with-no-repeated-characters
- https://leetcode.com/problems/minimum-swaps-to-group-all-1s-together
- https://leetcode.com/problems/diet-plan-performance
- https://leetcode.com/problems/number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold
- https://leetcode.com/problems/number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold
- https://leetcode.com/problems/longest-substring-without-repeating-characters
- https://leetcode.com/problems/minimum-window-substring
- https://leetcode.com/problems/longest-substring-with-at-most-two-distinct-characters
- https://leetcode.com/problems/minimum-size-subarray-sum
- https://leetcode.com/problems/longest-substring-with-at-most-k-distinct-characters
- https://leetcode.com/problems/fruit-into-baskets
- https://leetcode.com/problems/maximum-erasure-value
- https://leetcode.com/problems/distinct-numbers-in-each-subarray