Skip to content

This repository contains a variety of Java implementations of advanced algorithms, problem-solving techniques, and theory materials. These resources are designed to help students and developers enhance their competitive programming skills.

Jain131102/STS3007---Advanced-Competitive-Coding---I

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

STS3007: Advanced Competitive Coding - I

Welcome to the STS3007: Advanced Competitive Coding - I repository!
This repository contains a variety of Java implementations of advanced algorithms, problem-solving techniques, and theory materials. These resources are designed to help students and developers enhance their competitive programming skills.


📂 Repository Structure

The repository includes the following files:

No. File Name Description
1 ActivitySelection.java Greedy algorithm to select the maximum number of non-overlapping activities.
2 Binary_Palindrome.java Checks if a binary number is a palindrome.
3 BlockSwap.java Efficient array rotation using block swap.
4 Booth_Multiplication.java Booth's algorithm for binary multiplication.
5 CRT.java Solves systems of congruences using the Chinese Remainder Theorem.
6 Combinations.java Generates combinations of elements from a set.
7 Euclid.java Calculates the GCD of two numbers using Euclid's algorithm.
8 EulerPhi.java Computes Euler's Totient Function for a given number.
9 HourGlass.java Finds the maximum hourglass sum in a 2D array.
10 Incremental_Sieve.java Generates primes using an incremental sieve approach.
11 Josephus.java Solves the Josephus problem recursively and iteratively.
12 Karatsuba.java Implements the Karatsuba algorithm for fast multiplication.
13 Leaders.java Finds all leaders in an array.
14 LongestPalindromicSubstring.java Finds the longest palindromic substring in a string.
15 Majority.java Identifies the majority element in an array.
16 Maneuvering.java A problem-solving approach involving array manipulations.
17 Max1.java Finds the maximum consecutive 1s in a binary array.
18 MaxE.java Finds the maximum equilibrium sum in an array.
19 MaxP.java Finds the maximum product subarray.
20 MazeSolver.java Solves a maze using backtracking.
21 MoveHyphens.java Moves all hyphens to the end of a string.
22 NQueens.java Backtracking solution for the N-Queens problem.
23 Palindrome1.java Finds lexicographically first palindromic string.
24 Permutations.java Generates all sorted & unique permutations of a given array.
25 QuickSort.java Implements the quicksort algorithm.
26 Segmented_Sieve.java Finds primes in a given range using the segmented sieve method.
27 SelectionSort.java Implements the selection sort algorithm.
28 Simple_Sieve.java Generates primes using the simple sieve method.
29 Strobogrammatic1.java Verifies if a number looks the same upside down.
30 Strobogrammatic2.java Generates all strobogrammatic numbers within a range.
31 SwapNibbles.java Swaps nibbles in a byte.
32 WeightedSubstring.java Finds substrings with given weight constraints.

📑 Study Materials


📋 Topics Covered

This repository covers a wide range of topics, including:

  • Sorting and Searching Algorithms (e.g., QuickSort, SelectionSort)
  • Mathematical Algorithms (e.g., Euclid's Algorithm, Sieve of Eratosthenes, CRT)
  • String Manipulation (e.g., Longest Palindromic Substring, Binary Palindrome)
  • Backtracking (e.g., N-Queens, Maze Solver, Permutations)
  • Greedy Algorithms (e.g., Activity Selection, Leaders in Array)
  • Advanced Multiplication Techniques (e.g., Karatsuba, Booth's Algorithm)
  • Problem-Solving Strategies (e.g., Hourglass Sum, Josephus Problem, Max Product Subarray)

🖥 How to Run

Follow these steps to run the programs:

Prerequisites

Steps

  1. Clone this repository:
    git clone https://github.com/Jain131102/STS3007---Advanced-Competitive-Coding---I.git
  2. Navigate to the repository:
    cd STS3007---Advanced-Competitive-Coding---I
  3. Compile and run any Java program:
     javac ProgramName.java  
     java ProgramName  

🤝 Contributing

Contributions are welcome! If you'd like to add solutions, fix bugs, or improve documentation:

  1. Fork the repository.
  2. Create a new branch:
git checkout -b feature-branch-name  
  1. Commit your changes:
git commit -m "Add your message here"  
  1. Push to your branch:
git push origin feature-branch-name  

5.Open a pull request.


🌟 Acknowledgments

Thanks to all contributors and learners for supporting this project!
Happy Coding! 🚀

🛡 License

This project is open-source and available under the MIT License.

About

This repository contains a variety of Java implementations of advanced algorithms, problem-solving techniques, and theory materials. These resources are designed to help students and developers enhance their competitive programming skills.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages