Skip to main content

A python library that contains standard competitive programming algorithms for faster access

Project description

cpalgo

The library documentation will be made public by June 15, 2021.

cpalgo is a Python Library that contains over 100 standard competitive programming algorithms for faster access.

Installation

Use the package manager pip to install foobar.

pip install cpalgo

Usage

import cpalgo

string1 = 'algorithms'
string2 = 'rhythms'

#To find the longest common subsequence between two strings
cpalgo.longest_common_subsequence(string1, string2) 

#To count the number of prime numbers in [1,N]
cpalgo.count_primes(234)

Developers

Narayanaa S R

Badrinath V

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

BSD

Project Status

This project is expected to be completed by June 2021.

Documentation for cpalgo

Convex Hull
	import cpalgo

	points=[(x1, y1),(x2, y2)]

	cpalgo.convex_hull(points)

Euler Phi
	import cpalgo

	n = 234

	cpalgo.euler_phi(n)

Count Primes Sieves
	import cpalgo

	n = 234

	cpalgo.count_primes(n)

Chinese Remainder Theorem
	import cpalgo

	a = 3; p = 29

	cpalgo.chinese_remainder_theorem(a, p)

Levenshtein Distance
	import cpalgo

	s1 = "INTENTION"
	s2 = "EXECUTION"

	cpalgo.edit_distance(s1, s2)

Caesar Cipher
	import cpalgo

	s = "narayanaa"
	key = 7

	cpalgo.caesar_cipher(s, key)

nCr Modulus
	import cpalgo

	n = 71
	r = 27

	cpalgo.nCr_mod(n, r)

Unique Paths Combinations
	import cpalgo

	N = 21
	M = 19

	cpalgo.unique_paths(N, M)

Two Sum Target
	import cpalgo

	arr = [1, 2, 3, 4, 9, 14]
	target = 18

	cpalgo.two_sum(arr, target)

Three Sum Target
	import cpalgo

	arr = [1, 2, 3, 4, 9, 14]
	target = 15

	cpalgo.three_sum(arr, target)

Longest Common Subsequence
	import cpalgo

	s1 = "ALGORITHMS"
	s2 = "RHYTHMS"

	cpalgo.longest_common_subsequence(s1, s2)

Longest Increasing Subsequence
	import cpalgo

	nums = [1, 5, 4, 8, 2, 19, 30, 12, 92]

	cpalgo.longest_common_subsequence(nums)

Longest Palindromic Substring
	import cpalgo

	string = "MADHAMAMAM"

	cpalgo.longest_palindromic_substring(string)

Longest Palindromic Subsequence
	import cpalgo

	string = "MADHAMAMAM"

	cpalgo.longest_common_subsequence(string)

Longest Common Prefix
	import cpalgo

	string = "MADHAMAMAM""

	cpalgo.longest_common_prefix(string)

Word Break
	import cpalgo

	string = "applepenapple"
	words = ["apple", "pen"]

	cpalgo.word_break(string, words)

Minimum Window Substring
	import cpalgo

	string = "ADOBECODEBANC"
	t = "ABC"

	cpalgo.minimum_window_substring(string, t)

Maximum Subarray Sum
	import cpalgo

	arr = [1, 3, -2, 4, -6, 9, 2, -1, 3]

	cpalgo.maximum_subarray(arr)

Maximum Product Subarray
	import cpalgo

	arr = [1, 3, -2, 4, -6, 9, 2, -1, 3]

	cpalgo.maximum_product_subarray(arr)

Longest Substring Without Repetition
	import cpalgo

	string = "abcabcbb"

	cpalgo.longest_substring_without_repetition(string)

Kth Largest Element - Heap
	import cpalgo

	arr = [1, 3, -2, 4, -6, 9, 2, -1, 3]
	k = 4

	cpalgo.kth_largest_element(arr, k)

Valid Parantheses
	import cpalgo

	string = "{{}{}{{}}{}"

	cpalgo.is_valid_parantheses(string)

Is Palindrome
	import cpalgo

	string = "ANSIUISNA"
	cpalgo.is_palindrom(string)

Smallest Missing Positive
	import cpalgo

	arr = [6, 3, -1, -9, 1]

	cpalgo.first_missing_positive(arr)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cpalgo-0.1.7.tar.gz (26.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page