https://github.com/pradyuman7/algorithmics
A Java library for people who want to implement some algorithms quickly.
https://github.com/pradyuman7/algorithmics
algorithms competitive-programming hacktoberfest hacktoberfest2022 java java-library
Last synced: about 1 year ago
JSON representation
A Java library for people who want to implement some algorithms quickly.
- Host: GitHub
- URL: https://github.com/pradyuman7/algorithmics
- Owner: Pradyuman7
- License: mit
- Created: 2018-11-28T07:52:11.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-10-12T10:22:51.000Z (over 3 years ago)
- Last Synced: 2025-03-27T16:55:55.854Z (over 1 year ago)
- Topics: algorithms, competitive-programming, hacktoberfest, hacktoberfest2022, java, java-library
- Language: Java
- Homepage:
- Size: 233 KB
- Stars: 16
- Watchers: 4
- Forks: 21
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Algorithmics

[](https://github.com/Pradyuman7/Algorithmics/issues)
[](https://www.jitpack.io/#Pradyuman7/Algorithmics)
[](https://opensource.org/licenses/MIT)
A Java library for people who want to implement some algorithms quickly
## Table of Contents
- [How to Use](#how-to-use)
- [Algorithmics' Classes](#algorithmics-classes)
- [Documentation](#documentation)
- [License](#license)
- [Contributing guide](#contributing-guide)
- [Checkstyle guide](#checkstyle-guide)
## How to use
Algorithmics can be added in your project via:
**Maven** (you can match the version with the version available)
```xml
jitpack.io
https://www.jitpack.io
```
```xml
com.github.Pradyuman7
Algorithmics
V1.1
```
**Gradle** (you can match the version with the version available)
```gradle
allprojects {
repositories {
maven { url 'https://www.jitpack.io' }
}
}
```
```gradle
dependencies {
implementation 'com.github.Pradyuman7:Algorithmics:V1.1'
}
```
## Algorithmics' Classes
| Name | Description | ReadMe |
|-----------------------------|----------------------------------------------------------------------------------------------------------|-------------------------------------------|
| `SievePrimesAlgorithm` | Find and Generate Prime numbers using Sieve's algorithm. | [here](docs/SievePrimesAlgorithm.md) |
| `NumOccurencesOfCharacters` | Find number of occurrences of different/particular character(s) in a string. | [here](docs/NumOccurencesOfCharacters.md) |
| `Divisors` | Find number of divisors of the number of your choice. | [here](docs/Divisors.md) |
| `CheckPrime` | Check if a number is prime or not, efficiently. | [here](docs/CheckPrime.md) |
| `GetDivSquareSum` | Get sum of squares of divisors of a number efficiently. | [here](docs/GetDivSquareSum.md) |
| `BinarySearch` | Search result for a number in an array of integers. | [here](docs/BinarySearch.md) |
| `MaxSubArraySum` | Find the maximum continuous sub array sum in a given array. | [here](docs/MaxSubArraySum.md) |
| `FindMaxSubArrayProduct` | Find the maximum continuous sub array product in a given array of fixed length and no length constraint. | [here](docs/FindMaxSubArrayProduct.md) |
| `Exponent` | Calculate exponents of natural numbers. | [here](docs/Exponent.md) |
| `FindPhrase` | Find number of occurrences of a smaller string in a bigger string. | [here](docs/FindPhrase.md) |
| `Find2DMatrixSum` | Find sum of 2d matrix with long and int return types. | [here](docs/Find2DMatrixSum.md) |
| `CountDistinctElements` | Returns the number of distinct elements in an integer array | [here](docs/CountDistinctElements.md) |
| `CountSorting` | Returns the sorted array after sorting via count sort algorithm | [here](docs/CountSorting.md) |
| `MatrixMultiplication2D` | Returns the multiplied matrix (if possible or returns null) | [here](docs/MatrixMultiplication2D.md) |
| `PerfectPowerAlgorithm` | Returns the root and the exponent in an array of size 2 for a given natural number n (or null) | [here](docs/PerfectPowerAlgorithm.md) |
## Documentation
Kindly refer the [docs](docs/ReadMe.md).
## License
[](https://opensource.org/licenses/MIT)
**Algorithmics** is under *MIT License*. See **[License](License.md)** for more info.
## Contributing guide
Do you want to contribute to Algorithmics? Awesome, there are not many rules but just a few things to consider before making a PR, simply refer to [CONTRIBUTING.md](./CONTRIBUTING.md) and some guidelines in the available issues.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
If you're new to GitHub and/or contributing to open source projects, please refer this [resource](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request).
## Checkstyle guide
This repository follows the [Google Java Style Guide](https://google.github.io/styleguide/javaguide.html). Feel free to download formatting presets for your IDE from [Google's GitHub repository](https://github.com/google/styleguide).
We have set up [checkstyle](https://github.com/Pradyuman7/Algorithmics/blob/master/checkstyle.xml) to enforce them throughout this project. You can check locally if your changes comply with these guidelines by executing the maven goal `compile`. If the build of your Pull Request fails make sure to checkout the logs in the checks of your Pull Request to see what exactly does not comply with our guidelines. If you think that you are still complying with the guidelines, feel free to make corresponding changes to our [checkstyle file](https://github.com/Pradyuman7/Algorithmics/blob/master/checkstyle.xml).