Commit Graph

668 Commits

Author SHA1 Message Date
Abhinav Pandey
152e29034d
Improved code readability and code quality (#4663)
* Fixed Small typos :-)

* Update BufferedReader.java

* Made the following changes :

* Improved readability of files and removed gramatical errors.

* Implemented data assigning instead of manually calling arr.ylength in several instances like FindMax, FindMaxRecursion etc.

* Removed unwanted params from several files

* Implemented Math methods in files math/FindMinRecursion.java and FindMaxRecursion.java

* Update src/main/java/com/thealgorithms/maths/FindMinRecursion.java

---------

Co-authored-by: Debasish Biswas <debasishbsws.dev@gmail.com>
2023-10-11 17:29:55 +05:30
Lukas
17fe4298b6
Add MaxValueTest and remove main from MaxValue (#4756)
* Create MaxValueTest.java

* Update MaxValue.java
2023-10-10 21:27:23 +02:00
Anuj Rathour
ced9678699
Update queue readme (#4721) 2023-10-09 18:33:34 +03:00
Lukas
c6a22de12f
Add MinValueTest and remove main from MinValue (#4713)
* Update MinValue.java

* Create MinValueTest.java

* Revert "Create MinValueTest.java"

* Create MinValueTest.java

* Update MinValueTest.java

* Update MinValueTest.java

* Update MinValue.java

* Update src/test/java/com/thealgorithms/maths/MinValueTest.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update src/test/java/com/thealgorithms/maths/MinValueTest.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update src/main/java/com/thealgorithms/maths/MinValue.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2023-10-09 17:17:02 +02:00
Prabhat-Kumar
8200a791a2
Add AhoCorasick (#4465)
* Added code to find Articulation Points and Bridges

* tried to solve clang-formant test

* removed new line at EOF to get lint to pass

* feature: Added Ahocorasick Algorithm

* fixed lint using clang-format

* removed datastructures/graphs/ArticulationPointsAndBridge.java from this branch

* removed main, since test-file is added. Also modified and renamed few functions.

* Added test-file for AhoCorasick Algorithm

* Modified some comments in test-file

* Modified some comments in AhoCorasick.java

* lint fix

* added few more test cases

* Modified some comments

* Change all class fields to private, added initializeSuffixLinksForChildNodesOfTheRoot() method, hashmap string search position (also has previous index based search), removed java.util.*

* Added Missing Test-Cases and more

* minor text changes

* added direct test check i.e. defining a variable expected and just checking if res and expected are equal.

* Created New Class Trie, merged 'buildTrie and buildSuffixAndOutputLinks' with 'Trie constructor'. Merged setUpStartPoints with searchIn. Now AhoCorasick contains -> inner class: Trie, Node. Methods: search and convert. Trie has -> Methods : constructor and searchIn

* Updated TestFile according to the updated AhoCorasick Class. Added Few more test cases

* updated - broken down constructor to relavent parts, made string final, made res local to searchIn(), doxygen-like style

* lint fix clang

* Updated Tests Files

* Added final field to Node class setters and Trie Constructor arguments, removed getTrieRoot() and some unnecessory comments, renamed [old -> new]: res -> positionByStringIndexValue, removed if condition from setupStartPoints()

* updated test file

* lint fix clang

* minor chage - 'removed a comment'

* added final fields to some arguments, class and variables, added a method initializePositionByStringIndexValue()

* updated to remove * inclusion and added the required modules only

* Implemented a new class PatternPositionRecorder to wrap up the position recording in searchIn()

* Added final fields to PatternPositionRecorder Class

* style: mark default constructor of `AhoCorasick` as `private`

* style: remoce redundant `public`

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2023-10-08 15:16:06 +02:00
Aman
06aa834fa6
Enhance queue README.md (#4710) 2023-10-08 10:47:35 +03:00
Anuj Rathour
7f9555bd94
Update stack readme.md (#4678) 2023-10-07 20:37:57 +03:00
Piyush Pagar
aaa2b26ed1
Issue #4706 Solved (#4707)
Import Package into the RecursiveBinarySearchTest and RecursiveBinarySearch

Co-authored-by: PiyushPagar1 <piyus.p@ergobite.com>
2023-10-07 18:57:46 +05:30
Suchi Bansal
081f308b9d
Add ReverseWordsInString (#4456)
* return a string of the words in reverse order concatenated by a single space.

Input: s = "the sky is blue"
Output: "blue is sky the"

* return a string of the words in reverse order concatenated by a single space.

Input: s = "the sky is blue"
Output: "blue is sky the"

* space reduce

* removed main method

* added test cases

* formatting fix

* formatting fix

* worked on pr reviews

* formatting fix

* private constructor added

* added test case for when string contains white space

* simplified method

* fix issue

* formatting issues fix

* fixed issue

* code refactor

* documented method

* worked on pr comments

* docs: add missing space

* tests: express as `ParameterizedTest`

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
Co-authored-by: vil02 <vil02@o2.pl>
2023-10-06 20:15:27 +02:00
Lukas
064ca8f591
cleanup FindMinRecursion (#4568)
* Create FindMinRecusionTest.java

* Update FindMinRecursion.java

* Update FindMinRecursion.java

* Update FindMinRecursion.java

* Rename FindMinRecusionTest.java to FindMinRecursionTest.java

* Update FindMinRecursionTest.java

* style: remove unused imports

---------

Co-authored-by: vil02 <65706193+vil02@users.noreply.github.com>
2023-10-05 22:01:27 +02:00
Aman
06d6e2116b
Update Readme.md (#4634) 2023-10-05 16:08:28 +03:00
Appari Satya Barghav
a3a2d845d5
Made changes to the code to correct the Logic of Armstrong Number (#4619)
* Made changes to the code to correct the Logic of Armstrong Number

* Resolved the issues

* Trying to resolve the Linter error by changing Variable name

* Changed Variable Names : trying to resolve Clang error
2023-10-04 20:02:49 +05:30
Arin
4fab7adfaa
code-clean-up (#4519)
* code-clean-up

* style: make `RabinKarpAlgorithm` a proper utility class

---------

Co-authored-by: arintripathi1 <arint@trainee.nrifintech.com>
Co-authored-by: vil02 <vil02@o2.pl>
Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2023-10-03 17:32:59 +00:00
Vineet Chotaliya
535230acae
Add Greedy Algorithms (fixes #4493) (#4504) 2023-10-03 20:30:18 +03:00
Aman
329cc3bcf9
Added MirrorOfMatrix.java (#4461)
* Added MirrorOfMatrix.java

* Fixing Linting Issue

* Fixing Linting Issue

* Fixing Linting Issue

* Fixing Linting Issue

* Fixing Linting Issue

* Fixing Linting Issue

* Fixing Linting Issue

* Fixing Linting Issue

* Changes Done

* Update src/main/java/com/thealgorithms/misc/MirrorOfMatrix.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Changes Done

* Added MirrorOfMatrixTest.java

* Added MirrorOfMatrixTest.java

* Linting Error in Test

* Linting Error in Test

* Linting Error in Test

* trying to fix build error

* trying to fix build error

* final

* Update src/main/java/com/thealgorithms/misc/MirrorOfMatrix.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update src/main/java/com/thealgorithms/misc/MirrorOfMatrix.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update src/main/java/com/thealgorithms/misc/MirrorOfMatrix.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update src/test/java/com/thealgorithms/misc/MirrorOfMatrixTest.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update src/test/java/com/thealgorithms/misc/MirrorOfMatrixTest.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update src/test/java/com/thealgorithms/misc/MirrorOfMatrixTest.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Changing Description

* Final

* Update src/main/java/com/thealgorithms/misc/MirrorOfMatrix.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Final

* Update src/main/java/com/thealgorithms/misc/MirrorOfMatrix.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Changes

* Changes

* Linting Issue

* Linting Issue

* Linting Issue

* Changes

* Fixing Minor Linting Issue

* Fixing Minor Linting Issue

* Final

* Update src/main/java/com/thealgorithms/misc/MirrorOfMatrix.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Changes

* Linting Issue

* Linting Issue

* Linting Issue

* Linting Issue

* Update src/main/java/com/thealgorithms/misc/MirrorOfMatrix.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update src/main/java/com/thealgorithms/misc/MirrorOfMatrix.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update src/main/java/com/thealgorithms/misc/MirrorOfMatrix.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Changes

* Changes

* fix: use proper size in `checkInput`

* style: basic linting

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
Co-authored-by: vil02 <vil02@o2.pl>
2023-10-03 16:42:56 +00:00
Shreyash Kashyap
9795bada90
Update Readme.md (#4561) 2023-10-03 14:22:19 +00:00
Bama Charan Chhandogi
5f5a61de87
Add median of matrix (#4590) 2023-10-03 17:16:14 +03:00
Bama Charan Chhandogi
536978919d
Add reverse k group in LinkedList algorithm (#4532) 2023-10-03 09:43:49 +03:00
Lukas
8dc5505323
Add FindMaxRecursionTest (#4431)
* Update FindMaxRecursion.java

* Create FindMaxRecusionTest.java

* Update and rename FindMaxRecusionTest.java to FindMaxRecursionTest.java

* Update FindMaxRecursion.java

* Update FindMaxRecursion.java

* Update src/test/java/com/thealgorithms/maths/FindMaxRecursionTest.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update src/test/java/com/thealgorithms/maths/FindMaxRecursionTest.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update src/main/java/com/thealgorithms/maths/FindMaxRecursion.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update FindMaxRecursion.java

* Update FindMaxRecursionTest.java

* Update FindMaxRecursionTest.java

* Update FindMaxRecursion.java

* Update src/main/java/com/thealgorithms/maths/FindMaxRecursion.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update FindMaxRecursion.java

* Update FindMaxRecursion.java

* Update FindMaxRecursion.java

* Update FindMaxRecursion.java

* Update FindMaxRecursion.java

* Update src/main/java/com/thealgorithms/maths/FindMaxRecursion.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2023-10-01 18:21:29 +00:00
Arin
f72b80b116
rewrote as parameterized tests (#4458)
* rewrote as parameterized tests

* formatting issue resolved

* added test with different prime number q

* style: run `clang-format`

* tests: add missing test case

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2023-10-01 18:05:27 +02:00
Prabhat-Kumar
edb0489440
[FEATURE] #4486 QuickSort Algo for LinkedList (#4487)
* Added code to find Articulation Points and Bridges

* tried to solve clang-formant test

* removed new line at EOF to get lint to pass

* feature: Added Ahocorasick Algorithm

* fixed lint using clang-format

* Added QuickSort Algorithm for linked list

* removed datastructures/graphs/ArticulationPointsAndBridges and string/AhoCorasick.java from this branch

* Added datastructures/lists/SinglyLinkedList class, Replaced ListNode class

* Modified some comments

* Added tests in QuickSortLinkedListsTest.java

* removed main as added a test file to test test-cases

* test file for QuickSortLinkedLinst.java
2023-10-01 16:01:32 +00:00
Bharath Sanjeevi T
37b3844b98
Add SecondMinMax (#4432)
* Added Second Min/Max program

* Clang-format-lint error resolved

* Clang-format-error 2

* Added Program to find Second Minimum/Maximum element

* Test File & few changes

* Clang-lint-error resolved

* Maven Build Error Resolved

* Clang-lint-error resolved

* Clang-lint-error resolved 2

* Changes Resolved

* Test Arguements are Streamed

* Clang-lint-error resolved

* incresed code reusability

* Added Program to find Second Min / Max

* Program to find Second Min / Max

* Program to find Second Minimum / Maximum

* Program to find Second Best Number

* style: mark `initialVal` as `final`

* style: resolve `MultipleVariableDeclarations`

Each variable declaration must be in its own statement.

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2023-10-01 15:28:37 +00:00
Pronay Debnath
da687c11cb
Added [FEATURE REQUEST] <Recursive Binary Search> #4457 (#4469)
* Create RecursiveBinarySearch.java

* Update RecursiveBinarySearch.java

* Update RecursiveBinarySearch.java

* Update RecursiveBinarySearch.java

* Update RecursiveBinarySearch.java

* Create ReverseArray.java

* Update RecursiveBinarySearch.java

* Update RecursiveBinarySearch.java

* Create RecursiveBinarySearchTest.java

* Update RecursiveBinarySearchTest.java

* Update RecursiveBinarySearchTest.java

* Delete src/main/java/com/thealgorithms/others/ReverseArray.java

* Update RecursiveBinarySearchTest.java

* Update RecursiveBinarySearchTest.java

* Create ReverseArray.java

* Delete src/main/java/com/thealgorithms/others/ReverseArray.java

* Update RecursiveBinarySearchTest.java

* Update RecursiveBinarySearch.java
2023-10-01 15:22:51 +00:00
ANKIT SAHA
ee2629c8ab
Update Pangram.java using Java Collections (#4479)
* Update Pangram.java using Java Collections

A simple separate function isPangramOrNot(String s) has been created which implements the Pangram checking of a string using Java Collection Framework approach.

* Update Pangram.java using Java Collections

* Updated some linting errors in Pangram.java

* Update src/main/java/com/thealgorithms/strings/Pangram.java

Co-authored-by: Debasish Biswas <debasishbsws.dev@gmail.com>

* Updated Pangram.java

Method name updated to - isPangramUsingSet(String s)

* Updated the testcases PangramTest.java

Successfully updated the testcases in this same PR branch

---------

Co-authored-by: Debasish Biswas <debasishbsws.dev@gmail.com>
2023-10-01 16:28:13 +05:30
Lukas
e5d33f3565
Add SingleBitOperations (#4415)
* SingleBitOperators

* Tests

* Update SingleBitOperatorTest.java

* Update SingleBitOperators.java

* Update SingleBitOperators.java

* Update SingleBitOperators.java

* Update SingleBitOperatorTest.java

* deliting files

* Update SingleBitOperators.java

* Update SingleBitOperatorTest.java

* Update SingleBitOperators.java

* Update SingleBitOperators.java

* Update SingleBitOperatorTest.java

* Update SingleBitOperatorTest.java

* Update and rename SingleBitOperators.java to SingleBitOperator.java

* Update SingleBitOperatorTest.java

* Update SingleBitOperator.java

* Update SingleBitOperator.java

* Update SingleBitOperator.java

* style: declare private default constructor

* fix: remove `SetBitTest.java`

* Update and rename SingleBitOperator.java to SingleBitOperations.java

* Update SingleBitOperatorTest.java

* Update SingleBitOperations.java

* Update and rename SingleBitOperatorTest.java to SingleBitOperationsTest.java

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2023-09-30 10:06:45 +02:00
Arin
ea0eef128d
corrected test file name (#4422) 2023-09-28 18:30:41 +02:00
Janmesh Singh
566c27a996
WildcardMatching Added (#4404)
* Added WildcardMatching DP

* Wildcard Matching update

* Updated WildcardMatching

* Added WildcardMatchingTests

* WildcardMatching update

* Clang-formatting done

* WildcardMatching_Clang-formatting done

* WildcardMatching
2023-09-27 12:54:52 +03:00
Lukas
8583ca3b40
Changing MaxFindTest (#4406)
* Changing MaxFindTest

* Update FindMaxTest.java

* Update FindMaxTest.java

* Update FindMaxTest.java

* Apply suggestions from code review

- add test case with unsorted array,
- test FindMax

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2023-09-26 19:36:56 +00:00
Lukas
bf777fff8f
Remove array len + Math.min (#4405) 2023-09-26 18:31:16 +03:00
Piotr Idzik
02bac7e3d4
Add test case with minimum not at index 0 (#4403) 2023-09-26 08:41:27 +03:00
Lukas
cada67b1eb
Remove array len + Math.max (#4401) 2023-09-25 19:10:04 +00:00
Lukas
01157f299c
Add negative FindMinTest (#4388) 2023-09-25 18:38:54 +00:00
Manan Solanki
9d8a0f36cf
Optimize MinimumPathSum (#4400) 2023-09-25 14:25:16 +00:00
Piotr Idzik
d6024f9cd4
Make FindMin a proper utilty class (#4397) 2023-09-24 10:25:28 +00:00
Piotr Idzik
fa77b50ef9
style: make FindMax a proper utilty class (#4398) 2023-09-24 13:55:19 +05:30
Lukas
ad4be217d4
Update FindMax.java (#4396) 2023-09-24 09:11:36 +02:00
Lukas
c1476d796c
Make FindMin more efficient (#4389) 2023-09-24 06:26:05 +00:00
Ansh Shah
d3a32135dc
Make MedianOfRunningArray Generic (#4392) 2023-09-24 08:50:43 +03:00
Manan Solanki
8803b1ead5
#4387 Enhance Minimum sum partition problem implementation (#4394)
* Enhance Minimum sum partition problem implementation

* Linter resolved

* Linter resolved

* Code review comments

* Code review comments

* Add validation for non-negative numbers

* Linter resolved

* style: fix formiatting

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2023-09-23 10:26:14 +02:00
Ansh Shah
fbe348b105
#4382 Bug Fix (#4384)
* #4382 Bug Fix

* #4382 Bug Fix

* Made Requested Changes

* Made Requested Changes

* Made Requested Changes

* Made Requested Changes

* Made Requested Changes

* Made Requested Changes

* Made Requested Changes

* Update src/main/java/com/thealgorithms/misc/MedianOfRunningArray.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update src/main/java/com/thealgorithms/misc/MedianOfRunningArray.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update src/test/java/com/thealgorithms/misc/MedianOfRunningArrayTest.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

* Update src/test/java/com/thealgorithms/misc/MedianOfRunningArrayTest.java

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2023-09-21 06:05:26 +00:00
Piotr Idzik
906cd87731
style: avoid wildcard imports (#4386)
* style: import `assertEquals` explicitly

* fix: import `assertThrows`
2023-09-20 23:08:37 +05:30
Manan Solanki
12b6c29243
#4367 Enhance Knapsack problem (#4368)
* Enhance Knapsack problem

* Linter solved

* Linter solved

* Remove DynamicProgrammingKnapsack file, duplicate of Knapsack file

* Add null input testcase

* Linter resolved

* Updated meaningful test names

* Add check for negative weightCapacity

* Linter resolved

* Linter resolved

* Add check for non-positive weight

* Linter resolved

* fix: use proper formatting

* fix: use proper formatting

* fix: use proper formatting (I hope this will work now)

Sorry for the previous mess.

* Code review comments

* Code review comments

* Code review comments

* Code review comments

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2023-09-19 19:53:53 +00:00
Subhradeep Bera
26c2465328
Moved StackPostfixNotation.java from the Others section to the Stack section (#4372)
* Moved StackPostfixNotation.java from the Others section to the Stack section

* Put all stack related algo in a separate stack directory in the algorithms directory. The stack directory under data-structures now only contains various implementations of the stack data structure.

* formatted files
2023-09-18 21:27:36 +02:00
Piotr Idzik
58c21c5756
refactor: simplify ParseInteger (#4376) 2023-09-16 21:57:03 +03:00
Manan Solanki
5bb54977fe
#4369 Enhance UniquePaths (#4373)
* Enhance UnquiePaths DP problem solution

* Update testcases

* Linter issue resolved

* Code review comments

* Code review comments

* Code review comments

* Code review comments

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2023-09-14 19:45:16 +02:00
Bama Charan Chhandogi
34cf6dab28
add two sum problem (#4364)
* add two sum problem

* linter solved

* linter solved

* improve code

* linter solved

* improve code

* mini linter solved

* update code

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2023-09-12 08:00:08 +00:00
Manan Solanki
94621fb63e
Enhancing DisjointSetUnion data structure (#4366)
* Enhancing DisjointSetUnion data structure

* Linter resolved

* Linter resolved

* Linter resolved

* Linter resolved

* Added next line

* added next Line

* Resolve review comments

---------

Co-authored-by: Bama Charan Chhandogi <b.c.chhandogi@gmail.com>
2023-09-10 22:30:35 +05:30
Piotr Idzik
c54b8cddf3
Fix formatting of FloodFill (#4361) 2023-09-09 21:48:02 +03:00
Manan Solanki
a88abb7ac2
Fix : Floodfill infinite recursion due to same color (#4359)
Fix : Floodfill infinite recursion due to same color
2023-09-09 20:07:59 +02:00
Abhinav Pandey
81f38174a6
Fix small typos (#4357) 2023-09-08 16:10:22 +03:00
Lukas
fbef4023d5
Add Clear Bit (#4355) 2023-09-07 21:16:02 +03:00
Lukas
29a864b5b3
Add SetBit to bitmanipulation (#4348) 2023-09-06 14:46:45 +00:00
Bama Charan Chhandogi
fc693e8b51
Add Highest Set Bit algorithm (#4330) 2023-09-05 20:19:23 +00:00
Bama Charan Chhandogi
09950d6097
Add Rotate a Linkedlist (#4345) 2023-09-02 19:32:28 +00:00
Punit Patel
a96ad84fac
Add different types of Mean (#4339) 2023-09-02 17:22:28 +00:00
Piotr Idzik
cfdbc413f1
Cleanup PalindromeSinglyLinkedList (#4336) 2023-09-02 17:05:10 +00:00
Piotr Idzik
f010a47608
chore: enforce InsertNewlineAtEOF in clang-format (#4343)
* style: insert newline at eof

* style: use `InsertNewlineAtEOF` in `clang-format`

* fix: use `clang-format-16`

* chore: update clang-format-lint-action to v0.16.2

---------

Co-authored-by: Debasish Biswas <debasishbsws.dev@gmail.com>
2023-09-01 04:10:46 +00:00
Piotr Idzik
ea15f2bd98
Make SinglyLinkedList Iterable (#4334) 2023-08-28 07:11:07 +00:00
Bama Charan Chhandogi
80a4435038
Add tests for power using recursion algorithm (#4335) 2023-08-28 07:03:27 +00:00
tomkrata
ebd356e182
Add Miller-Rabin Primality Test (#4329) 2023-08-27 20:07:27 +00:00
Piotr Idzik
8d9c49dafe
Add PalindromeSinglyLinkedListTest (#4327) 2023-08-24 17:49:02 +00:00
Bama Charan Chhandogi
b4f786369b
Add find non repeating number algorithm (#4328) 2023-08-24 20:36:12 +03:00
Bama Charan Chhandogi
52f365a915
Add Index Of Right Most Set Bit Test (#4325)
* add Index Of Right Most Set Bit Test

* clang linter solved
2023-08-23 11:14:53 +05:30
Bama Charan Chhandogi
4bcddd323c
Add Preemptive Priority Scheduling Algorithm (#4323) 2023-08-20 19:40:23 +00:00
SwargaRajDutta
af80c8005d
Add Sliding Window Problem (#4322) 2023-08-18 14:08:40 +00:00
Bama Charan Chhandogi
b61faf4ede
Is power two algo added. (#4321)
* is power two algo added

* Linter solved

* Update src/main/java/com/thealgorithms/bitmanipulation/IsPowerTwo.java

* Update src/test/java/com/thealgorithms/bitmanipulation/IsPowerTwoTest.java

---------

Co-authored-by: BamaCharanChhandogi <b.c.chhandogi@gmailcom>
Co-authored-by: Debasish Biswas <debasishbsws.dev@gmail.com>
2023-08-18 12:53:09 +00:00
EdsTomato
68fdec5977
Add Tests for PancakeSort (#4318) 2023-08-16 18:57:36 +03:00
EdsTomato
ac14411b39
Add Tests for GnomeSort (#4315) 2023-08-15 16:39:12 +00:00
Bama Charan Chhandogi
2c16c86054
Add Numbers Have Different Signs (#4317)
Co-authored-by: BamaCharanChhandogi <b.c.chhandogi@gmailcom>
2023-08-15 19:36:00 +03:00
Snir Turgeman
18848574be
Make DFS and BFS search algorithms generic (fixes #4229) (#4230) 2023-08-13 11:59:26 +05:30
Bama Charan Chhandogi
1ef700e850
Add IsEven Algorithm (#4301)
Co-authored-by: BamaCharanChhandogi <b.c.chhandogi@gmailcom>
2023-08-12 23:06:39 +03:00
Bama Charan Chhandogi
251157059c
Add Reverse Bits Algo in Bit-Manipulation (#4299)
Co-authored-by: BamaCharanChhandogi <b.c.chhandogi@gmailcom>
2023-08-12 15:55:10 +00:00
Himesh Kohad
07945c7704
Add StrobogrammaticNumber (#4278) 2023-08-11 12:22:14 +00:00
Bama Charan Chhandogi
4fe419ebd8
Add Recursive Reverse of Linked List (#4292)
Co-authored-by: BamaCharanChhandogi <b.c.chhandogi@gmailcom>
2023-08-10 11:38:56 +03:00
Bama Charan Chhandogi
1ef5208b75
Add M-coloring Problem (#4282)
Co-authored-by: BamaCharanChhandogi <b.c.chhandogi@gmailcom>
Co-authored-by: Andrii Siriak <siryaka@gmail.com>
Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2023-08-05 22:00:26 +03:00
Piotr Idzik
c4a9ef1566
Add PowerOfTwoOrNotTest (#4279) 2023-08-04 12:31:47 +00:00
Piotr Idzik
ee23b6c2e5
Add tests for GenericRoot (#4276) 2023-08-03 23:14:59 +03:00
Piotr Idzik
087d523ed0
Make Factorial a proper utility class (#4267) 2023-07-29 08:15:03 +03:00
Albina Gimaletdinova
f83008d80a
Refactor factorial, add unit tests (#4266) 2023-07-28 22:02:04 +03:00
Ranjeet Kumar Jena
cc9afea036
Fix formatting (#4259)
Co-authored-by: Ranjeet Kumar Jena <ranjeetjena06@gmai.com>
Co-authored-by: Andrii Siriak <siryaka@gmail.com>
2023-07-27 08:50:47 +05:30
Piotr Idzik
de50fc0294
Simplify StackPostfixNotation.postfixEvaluate (#4264) 2023-07-26 20:16:52 +03:00
Albina Gimaletdinova
fc274c84f8
Fix style in AmicableNumbers (#4263) 2023-07-26 16:52:46 +03:00
Piotr Idzik
e5c7a08874
Handle inputs like "2 +" in StackPostfixNotation (#4262) 2023-07-26 14:11:28 +03:00
Piotr Idzik
44dcebb699
Handle incorrect inputs in StackPostfixNotation (#4261) 2023-07-26 06:20:56 +00:00
Albina Gimaletdinova
dec3b98e4b
Refactor FibonacciJavaStreams and add unit tests (#4260) 2023-07-25 22:42:09 +03:00
Ranjeet Kumar Jena
ef4ef42ed3
Remove duplicated lines (#4258)
Co-authored-by: Ranjeet Kumar Jena <ranjeetjena06@gmai.com>
Co-authored-by: Andrii Siriak <siryaka@gmail.com>
2023-07-25 13:36:00 +03:00
Piotr Idzik
3c80e262a7
Update ReverseNumber (#4257)
- removes an unused import,
- fixes the order of the of the _modifiers_ in the definition of the class `ReverseNumber`.
2023-07-25 14:14:59 +08:00
Piotr Idzik
06ef351987
Add tests for SumOfArithmeticSeries (#4256) 2023-07-24 19:25:40 +03:00
Piotr Idzik
e897a93166
Fix formatting of NthUglyNumber (#4248) 2023-07-23 11:16:35 +00:00
Ranjeet Kumar Jena
1afc4cc319
Make code more idiomatic (#4249) 2023-07-23 13:51:52 +03:00
HManiac74
2488a2ad51
Code cleanup (#4246) 2023-07-22 15:23:00 +00:00
ngominhtrint
4effd28d80
Add unit tests for Minimum Path Sum algorithm (#4233)
* Add unit tests for Minimum Path Sum algorithm

* fix lint issues

* fix lint issues

* fix clang lint issue
2023-07-09 22:54:00 +05:30
Albina Gimaletdinova
9ecc3aae59
Add a new implementation for CheckAnagrams (#4231) 2023-07-06 16:56:59 +03:00
Albina Gimaletdinova
2456d86432
Add unit tests for ParseInteger (#4228) 2023-07-02 11:31:55 +03:00
Albina Gimaletdinova
4b45ac7e71
Add unit tests for PalindromeNumber (#4227) 2023-07-01 18:29:10 +00:00
Albina Gimaletdinova
8862a4dea5
Add unit tests for FibonacciNumberCheck (#4225) 2023-07-01 20:52:52 +03:00
Albina Gimaletdinova
bc699b86e5
Refactor BinaryTreeIsBalanced algorithm (#4222) 2023-06-26 22:26:17 +08:00
THIRUMURUGAN
05ca93eace
Rename surfaceAreaTriangle for clarity (#4220) 2023-06-23 19:39:10 +03:00
Piotr Idzik
63739f4933
refactor: simplify HammingDistance (#4218)
* refactor: make HammingDistance an utility class

* tests: add some tests, simplify logic of some

* refator: simplify logic in HammingDistance

* style: remove logging messages
2023-06-21 21:11:13 +05:30
Piotr Idzik
7a3273ae1d
tests: add tests for SieveOfEratosthenes (#4217)
* tests: add tests for SieveOfEratosthenes

* feat: throw for inputs <= 0

* refactor: simplify logic in SieveOfEratosthenes.findPrimesTill

* refactor: make SieveOfEratosthenes a utility class

* docs: update docs, fix typo
2023-06-20 23:58:53 +05:30
Piotr Idzik
87d6083bac
Add tests for EulersFunction (#4216) 2023-06-19 20:46:54 +03:00
acbin
415a04ea7f
Add automatic linter (#4214) 2023-06-09 20:05:14 +08:00
acbin
00282efd8b
style: format code (#4212)
close #4204
2023-06-09 18:52:05 +08:00
Piotr Idzik
ad03086f54
Remove main and add tests for CountWords (#4210) 2023-06-02 16:28:33 +00:00
Piotr Idzik
22002c9939
Generalize NthUglyNumber (#4209) 2023-06-02 14:17:26 +03:00
Piotr Idzik
4bbc4bd69f
Refactor ReverseNumber (#4208) 2023-05-31 09:07:55 +03:00
Bama Charan Chhandogi
b6e78a45ac
Add Octal To Binary Converter (#4202) 2023-05-30 07:37:50 +00:00
Piotr Idzik
5d7a59654f
Refactor LowestBasePalindrome (#4207) 2023-05-29 23:05:23 +03:00
Piotr Idzik
96c1a96647
Fix empty input handling in FindMax (#4206) 2023-05-28 23:45:13 +03:00
Piotr Idzik
4f15149804
style: handle empty input array in FindMin.findMin (#4205)
* tests: add test case with mininum not being at the beginning

* style: throw IllegalArgumentException when input is empty

* style: use enhanced for loop

* docs: update doc-str
2023-05-28 16:38:44 +05:30
Piotr Idzik
e14b30b88c
Fix empty input handling in GCD (#4199) 2023-05-27 17:58:56 +03:00
Glib
36232a8373
Fix typo (#4197) 2023-05-23 09:38:44 +03:00
Indrranil Pawar
9ce275c16d
Update FibonacciNumber.java (#4195) 2023-05-21 11:08:54 +05:30
Albina Gimaletdinova
deef2ae445
Refactor CreateBinaryTreeFromInorderPreorder (#4190) 2023-05-14 14:52:30 +03:00
Anirudh Pathak
0255705388
Add WordSearch (#4189) 2023-05-12 22:44:16 +03:00
Anirudh Pathak
de2696d0c5
Add Null/Empty check for param in average method (#4185) 2023-05-10 19:30:41 +03:00
Md. Asif Joardar
122f5e5556
Add Round Robin scheduling (#4184) 2023-05-10 16:04:55 +03:00
Md. Asif Joardar
3109c11c59
Add Partition Problem (#4182) 2023-05-09 13:21:11 +03:00
Albina Gimaletdinova
3a593d5d3c
Cover BSTRecursive with tests (#4180) 2023-05-06 21:10:33 +03:00
Manoj Kumar
89b7ee42e6
Add one more solution for anagrams check (#4175) 2023-05-05 20:50:47 +03:00
Rutikpatil0123
bb830e9559
Add tests for TwoSumProblem and reduce duplication (fixes #4177) (#4176) 2023-05-02 20:03:21 +03:00
Aditya Pal
fb18c27905
Add wiki link for DES (#4173) 2023-04-30 22:22:19 +03:00
Aditya Pal
19bd2408ff
Des (#4172)
* Update directory

* Add DES Encryption algorithm

* Update directory

---------

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2023-04-30 20:19:14 +05:30
Rutikpatil0123
db9c78a598
Remove duplicated ThreeSum problem (fixes #4169) (#4170) 2023-04-29 10:17:00 +03:00
Rutikpatil0123
7ed65b0a1e
Add climbing stairs (#4168) 2023-04-28 20:34:15 +03:00
Lieu Chi Tung
b55fc972ac
Add tests for HorspoolSearch (#4165) 2023-04-25 14:04:15 +03:00
Albina Gimaletdinova
f69cd7cfa2
Remove redundant code and add tests for BSTIterative (#4164) 2023-04-24 14:52:38 +03:00
Albina Gimaletdinova
4c18e60671
Refactor BSTFromSortedArray (#4162) 2023-04-22 07:53:12 +00:00
Albina Gimaletdinova
c01a382d94
Remove redundant tree traversals (#4161) 2023-04-21 11:41:24 +03:00
LOne2three
1551b8f50b
Add line sweep algorithm (#4157) 2023-04-19 08:12:30 +00:00
Saurabh Rahate
1dc388653a
Refactor Code Style (#4151) 2023-04-15 11:25:54 +03:00
Akshith121
1ce907625b
Fix NullPointer Exception (#4142) 2023-04-15 11:10:39 +03:00
Ishan Makadia
0c618b5ee8
Refactoring (#4146) 2023-04-14 08:34:47 +00:00
Andrii Siriak
d241fafd64
Remove blinking test for BufferedReader (#4153) 2023-04-14 11:33:22 +03:00
Rohan Anand
8259f0e9cf
Add Majority Element (#4131) 2023-04-13 15:28:36 +03:00
Ishan Makadia
181906d5f7
Refactor Code (MemoryManagementAlgorithms): Pull Up Variable (#4145) 2023-04-12 15:18:49 +00:00
Volodymyr Labliuk
7779c18ef6
Add More Tests (#4148) 2023-04-08 19:56:07 +03:00
Rohan Anand
f35e9a7d81
Update SieveOfEratosthenes.java (#4149) 2023-04-07 20:50:43 +08:00
Sukruti Mallesh
8798e042a8
Refactor BinaryToDecimal class (#4135) 2023-04-03 22:42:50 +08:00
duyuanch
d160156003
Update AbsoluteMax (#4140) 2023-04-03 22:39:17 +08:00
Saurabh Rahate
ad72c28d91
Remove unnecessary code (#4141) 2023-04-03 22:35:59 +08:00
duyuanch
805f09850c
Update SortUtils (#4139) 2023-04-02 23:09:51 +08:00
Isak Einberg
3b2ca81765
Fix spelling in Volume (#3893) 2023-03-24 19:22:56 +00:00
SwargaRajDutta
86c93146d9
Add Run-Length Encoding (fixes #3911) (#3916) 2023-03-19 09:51:48 +02:00
Trần Quang Dự
2418604f7a
Add tests for SinglyLinkedList (#3913) 2023-03-12 13:49:17 +02:00
Enrique Clerici
a7e76c57a0
feat: Backtracking algorithms (All combinations) #3912 (#3917)
* ArrayCombination function which uses Combination.java by creating an array of 1 to n

* modified tests
2023-03-11 02:59:49 +05:30
Kumaraswamy B G
b6563cf37a
Add Buffered Reader (#3910) 2023-03-07 10:13:46 +02:00
Kumaraswamy B G
3e9dd776e5
Make LinkedQueue generic (#3909) 2023-03-05 19:08:42 +00:00
a-kbd
dd949e9b5d
Increase test coverage (fixes #3895 #3896) (#3897) 2023-03-05 21:03:08 +02:00
Siddhant Swarup Mallick
87f9ebcb29
Add Frizzy Number (fixes #3379) (#3906) 2023-03-01 17:16:32 +02:00
Siddhant Swarup Mallick
f3613382aa
Add All Paths from Source to Target (fixes #3359) (#3873) 2023-02-28 12:46:17 +02:00
Albina Gimaletdinova
3499c1bee6
Add postorder binary tree traversal (#3899) 2023-02-27 12:06:39 +00:00
Narek Karapetian
b98dc2c5b5
Fix linear probing hash map (#3902) 2023-02-26 21:15:48 +00:00
Albina Gimaletdinova
45923d6872
Add inorder binary tree traversal (#3898) 2023-02-25 20:58:06 +00:00
Stronshade
6d13d95e41
Graham scan algorithm (#3903)
* Added Graham scan algorithm #3894

* Added Graham scan algorithm (#3894)

---------

Co-authored-by: Stronshade <diegobrocker1999@gmail.com>
2023-02-25 18:31:51 +05:30
Isak Einberg
be13981e94
Add tests for 2D array binary search (#3892) 2023-02-23 18:49:24 +00:00
HumbleFool
6b9eb1b9c1
Add orderAgnosticBinarySearch (#3882)
Co-authored-by: Andrii Siriak <siryaka@gmail.com>
2023-02-23 17:19:05 +00:00
Specialist Steak
3c0d94292c
Add Introspective Search (#3887) 2023-02-19 21:50:59 +02:00
Albina Gimaletdinova
541f490d1e
Valid BST: refactoring + added unit test (#3883)
Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
2023-02-17 11:43:17 +00:00
Albina Gimaletdinova
d565edc69a
Added recursive&iterative preorder binary tree traversal (#3884)
Added recursive& iterative preorder binary tree traversal
2023-02-17 17:04:44 +05:30
Davide Nigri
e0b1235bef
Fix ArrayIndexOutOfBoundsException in LevenshteinDistance (#3871) 2023-02-15 20:34:36 +00:00
Shivanagouda Agasimani
69a428470c
Add Tarjans Algorithm (#3874) 2023-02-15 20:27:21 +00:00
Albina Gimaletdinova
a584ca248c
Refactor Level Order Traversal (#3869) 2023-02-14 12:33:14 +02:00
georgioct
c0fec8dfe2
Add Optimal Job Scheduling (#3868) 2023-02-08 18:09:38 +00:00
Shivanagouda Agasimani
39df47b5f2
Add Kosaraju Algorithm (#3859) 2023-02-08 18:05:52 +00:00
Hikmet Çakır
54d6f79acd
Add SimpleSubstitutionCipherTest (#3857) 2023-01-17 22:05:24 +02:00
YuLuo
b14f55096d
Fix LFUCache (#3847) 2023-01-15 11:28:16 +02:00
eloibru
b6c1d250f4
Add Conway Sequence (#3807)
Co-authored-by: Bruno Eloi <bruno.eloi@minfin.fed.be>
Co-authored-by: Andrii Siriak <siryaka@gmail.com>
2023-01-14 12:22:15 +02:00
sadiul-hakim☪️
d5f140458a
Add two algorithms with matrixes (#3364) 2023-01-14 10:01:03 +00:00
Albina Gimaletdinova
351e85d264
Added same trees algorithm check with a unit test (#3845)
Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
2023-01-13 20:07:56 +00:00
thanoskiver
44c05bf7db
Add Shortest Job First Scheduling (#3843) 2023-01-13 21:22:45 +02:00
Albina Gimaletdinova
3b6e3edbfb
Vertical order traversal refactoring, added unit test (#3844)
Vertical order traversal refactoring, added test
2023-01-13 19:26:15 +05:30
Albina
5aa417b6ae
Added Zigzag Traversal of a Binary Tree (#3811)
* Added Zigzag Traversal of a Binary Tree

* fixed file name

Co-authored-by: Albina Gimaletdinova <gimaletdinovaalbina@gmail.com>
2023-01-12 17:36:11 +05:30
Om Shinde
64181d6ea7
Remove unnecessary import (#3809) 2023-01-10 09:30:22 +02:00
Narek Karapetian
1eedaeb073
Move common tests for sorting algorithms to the base test class (#3782)
* bug fix for CircularBuffer + refactoring + add unit tests

* change Insertion sort to classical implementation + add isSorted function to SortUtils + add SortUtilsRandomGenerator for generating random values and arrays

* little fix

* move all common tests to SortingAlgorithmTest and utilize them

Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
2023-01-01 14:50:56 +00:00
김준홍
ce55420418
Add tests for Tree Sort (#3787) 2022-12-31 19:09:09 +00:00
adrianparas
9123474729
Add Leftist Heap (#3789)
Co-authored-by: Adrian Paras <aparas@terpmail.umd.edu>
2022-12-29 12:19:35 +00:00
Tanmay Jadhav
6a0035d872
Add description for SkipList.java (#3503) 2022-12-28 12:01:05 +00:00
Nathan Cheshire
c6694fc1bd
Simplifying boolean returns (#3796)
* Simplifying boolean returns

* add comment back
2022-12-18 03:03:09 +00:00
PuneetTri
5512fea0a8
Improve priority queues with max-heap (#3648) 2022-12-13 20:02:15 +02:00
Nishanth Chandra
8ba295b1ad
Added Order Agnostic Binary Search problem in Searches folder. (#3791)
* Added Order Agnostic Binary Search problem

* Update OrderAgnosticBinSearch.java

* Added JUnit Tests and removed redundant code.

* Made minor changes in JUnit Tests

* Removed tests for main folder and added docs.

* Added OrderAgnosticBinarySearchTest.java

* Renamed file to avoid errors.

* Updated the file to avoid build error
2022-12-12 00:43:27 +05:30
Hyun
219ec7c223
Create ShellSortTest (#3783)
Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
2022-12-03 13:27:15 +00:00
Hyun
501aca3e31
Create SimpleSortTest (#3784) 2022-12-03 18:55:00 +05:30
Narek Karapetian
3f7e4d3f8f
Simplify Tim Sort (#3780) 2022-11-30 19:05:13 +02:00
Hyun
6c9090ffed
Create BucketSortTest (#3779)
* Create BucketSortTest

* Update src/test/java/com/thealgorithms/sorts/BucketSortTest.java

Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>

Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
2022-11-28 15:15:06 +05:30
PuneetTri
27fc872edb
Add JUnit tests for priority queue data structure (#3778) 2022-11-27 19:56:16 +08:00
김준홍
bdfecbe1c1
Added test cases to CombSort. (#3776)
* Add testcase to CocktailShakerSort Algorithm

* fixed method name to lowerCamelCase

* Added test cases to OddEvenSortTest

* Added test case to CombSort
2022-11-26 15:20:53 +00:00
Narek Karapetian
7692e8f47d
Heap Sort: Simplify (#3777)
* bug fix for CircularBuffer + refactoring + add unit tests

* change Insertion sort to classical implementation + add isSorted function to SortUtils + add SortUtilsRandomGenerator for generating random values and arrays

* little fix

* simplify heap sort

* Update src/main/java/com/thealgorithms/sorts/HeapSort.java

* Update src/main/java/com/thealgorithms/sorts/HeapSort.java

Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
2022-11-25 22:33:04 +05:30
Narek Karapetian
72468cc707
MergeSort: Simplify merge function (#3774)
* bug fix for CircularBuffer + refactoring + add unit tests

* change Insertion sort to classical implementation + add isSorted function to SortUtils + add SortUtilsRandomGenerator for generating random values and arrays

* little fix

* simplify merge function in MergeSort

* refactor one-liners

Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
2022-11-25 03:54:17 +05:30
Debasish Biswas
260f1b2bee
Remove duplicate KnapsackMemoization (#3769) 2022-11-19 13:32:01 +02:00
김준홍
9f78d1fcf7
Added test cases to OddEvenSort. (#3768)
* Add testcase to CocktailShakerSort Algorithm

* fixed method name to lowerCamelCase

* Added test cases to OddEvenSortTest
2022-11-18 18:34:34 +05:30
김준홍
ac71f6eb79
Added test cases to CocktailShakerSort. (#3766)
* Add testcase to CocktailShakerSort Algorithm

* fixed method name to lowerCamelCase
2022-11-16 13:39:02 +05:30
Thanh-Thai Tran
f7dee0d958
Add tests for recursive merge sort (#3510) 2022-11-12 16:10:13 +00:00
Taranjeet Singh Kalsi
b294ddcb38
Add AliquotSum (#3765) 2022-11-11 21:57:18 +02:00
Arya Sen
9cde14095c
Fix BFS (#3759) 2022-11-09 19:40:20 +00:00
Hyun
4990f791a6
Add Bead Sort (#3761) 2022-11-09 19:33:30 +00:00
rnzit
b8d6b1a9b0
Create CRC16.java (#3733)
* Create CRC16.java

* Create CRC16Test.java
2022-11-09 10:20:54 +05:30
Dnyanesh Nimbalkar
eb375a6015
Fix spelling (#3444) 2022-11-07 18:31:44 +00:00
Akshay Dubey
b75dce17c3
algorithm: Square free integer (#3760)
* feat: Add square free integer implementation

Closes #3402

* test: Add unit tests for square free integer

Closes #3402

* fix: Fix failing build

Changed static import for assertEquals()
Closes #3402
2022-11-07 14:31:44 +05:30
Narek Karapetian
58cf08f2fd
Modify Insertion sort implementation to classical one + add function insertion-sentinel sort. (#3622)
* bug fix for CircularBuffer + refactoring + add unit tests

* change Insertion sort to classical implementation + add isSorted function to SortUtils + add SortUtilsRandomGenerator for generating random values and arrays

* little fix

Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
2022-11-06 17:54:08 +05:30
kongleong86
c8ecd23183
Constructors BigInteger and BigDecimal used to wrap primitives should never be used. (#3627)
Constructors BigInteger and BigDecimal used to wrap primitives should never be used.

Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
2022-11-06 17:40:14 +05:30
Alexandre Velloso
cc17d60d5c
Add unit tests for SimpleSubCipher (#3688) 2022-11-06 10:21:22 +00:00
Aidar Djamalbek
1c7da7af25
Add LongDivision (#3691) 2022-11-06 12:18:14 +02:00
Taranjeet Singh Kalsi
37a1659e18
Add HarshadNumberTest (#3722) 2022-11-03 12:59:13 +00:00
Taranjeet Singh Kalsi
37db41fd6b
Add AutomorphicNumber (#3735) 2022-11-03 12:55:48 +00:00
Aidar Djamalbek
1a391c2fe9
Add ValidParentheses (#3689) 2022-11-01 19:26:13 +02:00
Aidar Djamalbek
fea982d54d
Create Atoi Function.java (#3756)
* Create MyAtoi.java

There is a method in C++, which converts String to an Integer, called Atoi function, this is my own implementation of this function.

* Update directory

* Update MyAtoi.java

* Create MyAtoiTest.java

* Update directory

* Update directory

* Update directory

* Update MyAtoi.java

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
2022-11-01 16:34:14 +05:30
Taranjeet Singh Kalsi
d418bbd1cf
Created PerfectNumberTest.java & Added function in PerfectNumber.java (#3751)
* Added function in PerfectNumber.java

Added isPerfectNumber2() in PerfectNumber.java

* Created PerfectNumberTest.java

* fixed isPerfectNumber()

fixed bug in isPerfectNumber() for negative numbers

* fixed typo

Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
2022-11-01 06:22:56 +00:00
Hyun
5864f3296f
Add BogoSort Tests (#3716) 2022-10-31 19:52:57 +00:00
shlokam
9e7456a2a8
Add tests for merge sort (#3715) 2022-10-31 19:26:49 +00:00
Amit Kumar
3542f1c4c1
Add check if tree is symmetric or not (fixes #3471) (#3472)
Co-authored-by: Amit Kumar <akumar@indeed.com>
Co-authored-by: Andrii Siriak <siryaka@gmail.com>
2022-10-30 10:29:22 +02:00
Aayush2111
23eec39a29
Fibonacci optimized using binet's formula (#3728)
* Fibonacci optimized using binet's formula

* Update Fibonacci.java

* Update Fibonacci.java

* updated changes

Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
2022-10-30 09:26:08 +05:30
Taranjeet Singh Kalsi
8efc71e609
Added functions in Perimeter.java (#3739)
* Added functions and removed main

* deleted perimeterTest.java

deleted perimeterTest.java to create PerimeterTest.java

* Recreated PerimeterTest.java

Renamed perimeterTest.java to PerimeterTest.java and added test cases

* deleted PerimeterTest.java

* Recreated PerimeterTest.java

Recreated PerimeterTest.java from perimeterTest.java
2022-10-30 09:22:25 +05:30
Taranjeet Singh Kalsi
957f633c93
Added function and fixed bug in PerfectCube.java (#3655)
* Added another function to PerfectCube.java

Added another function to PerfectCube.java and fixed a testing mistake in line number 9

* Created PerfectCubeTest.java

Created PerfectCubeTest.java

* fixed PerfectCubeTest.java

* Fixed bug in PerfectCube.java

Fixed bug in PerfectCube.java in isPerfectCube() function for negative numbers. Now It gives the correct output for perfect negative numbers.

* removed main() in PerfectCube.java
2022-10-29 11:57:17 +05:30
Taranjeet Singh Kalsi
5ab1b6c319
Created VolumeTest.java & Fixed Bugs in Volume.java (#3682)
* Fixed functions and removed main() in Volume.java

Fixed calculation errors in volumeSphere() and volumeHemisphere() functions and removed main() and changed functions access specifier from private to public

* Created VolumeTest.java

Created VolumeTest.java JUnit Tests for Volume.java

Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
2022-10-28 00:35:59 +05:30
Taranjeet Singh Kalsi
bd267bb7d8
Fixed error in Palindrome.java and gave semantic names to functions (#3643)
* fixed error and changed functions names

fixed error at line 57 and gave semantic names to functions with comments

* renamed functions

renamed functions to match with original functions' names in the file

* Updated TestCases

Updated TestCases and changed a function name

* Removed main() and changed function name

Removed main() and changed the function name from isPalindromeStringBuilder to isPalindrome

* fixed typo

Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
2022-10-28 00:17:16 +05:30
Taranjeet Singh Kalsi
acf7a86b96
Added function in Pangram.java (#3703)
* Added function in Pangram.java

Added isPangramIndexOf() function in Pangram.java

* Added Tests for new function

Added Tests for isPangramIndexOf() function

* fixed typo

* changed function name

* changed function name

Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
2022-10-27 23:26:34 +05:30
Nandini Anagondi
b2393d62a0
Add Test case for EggDropping (#3687) 2022-10-27 20:52:45 +03:00
Nandini Anagondi
8504e6ad35
Add test case for RomanToInteger (#3686) 2022-10-27 20:42:57 +08:00
Nandini Anagondi
23949cac47
Add test case for BinaryToDecimal (#3684) 2022-10-27 20:40:08 +08:00
Nandini Anagondi
2c9edc95b8
Add test case for HexaDecimalToBinary (#3683) 2022-10-27 20:34:01 +08:00
Nandini Anagondi
838916d8e9
Add test case for hexadecimal to decimal (#3685) 2022-10-27 19:17:38 +08:00
rashmibharambe
0bed437eb2
Add test case for BinaryToHexadecimal (#3694) 2022-10-27 18:15:39 +08:00
rashmibharambe
c7b69561a5
Add test case for BinaryToOctal (#3696) 2022-10-27 18:11:16 +08:00
rashmibharambe
a1a2a849c2
Add test case for DecimalToHexaDecimal (#3697) 2022-10-27 18:07:13 +08:00
rashmibharambe
38eadd928a
Add test case for CatalanNumber (#3698) 2022-10-27 17:34:39 +08:00
harshalkhachane
b46bf0d9b0
Add test case for OctalToDecimal (#3678) 2022-10-27 00:06:25 +08:00
harshalkhachane
0bbacb1925
Add test case for OctalToHexadecimal (#3679) 2022-10-27 00:04:26 +08:00
Taranjeet Singh Kalsi
a0d03e814a
Update WordLadderTest.java & WordLadder.java (#3674) 2022-10-26 21:14:03 +08:00
harshalkhachane
2e25f89c36
Add test case for HexToOct (#3675) 2022-10-26 21:10:25 +08:00
harshalkhachane
0365afa16a
Add test case for IntegerToRoman (#3676) 2022-10-26 21:03:04 +08:00
Taranjeet Singh Kalsi
eecec0f706
Add test case for LetterCombinationsOfPhoneNumber (#3662) 2022-10-26 16:38:24 +08:00
Artan.sh
c9e1d96147
Fix typos (#3615)
Co-authored-by: Andrii Siriak <siryaka@gmail.com>
2022-10-26 07:40:06 +00:00
Harshal
0953236b4c
Add tests for WordLadder (#3668) 2022-10-26 07:18:33 +00:00
Harshal
0a5ee18079
Add tests for HowManyTimesRotated (#3669) 2022-10-26 10:16:02 +03:00
Harshal
3aadb9da1e
Add tests for vowels check (#3658) 2022-10-26 09:15:25 +03:00
Harshal
9a09a9e772
Add test case for Rotation (#3667) 2022-10-26 09:44:37 +08:00
Alexandre Velloso
8c6ed9c240
Add unit test for RSA cipher (#3664) 2022-10-26 09:10:27 +08:00
Alexandre Velloso
f8897f166d
Add unit tests for Caesar cipher (#3665)
Co-authored-by: Yang Libin <contact@yanglibin.info>
2022-10-26 09:01:35 +08:00
Alexandre Velloso
7ef75980d5
Add unit tests for Vigenere cipher (#3666) 2022-10-26 08:57:51 +08:00
Taranjeet Singh Kalsi
fd3386a0db
Removed extra loop in Anagram.java (#3654) 2022-10-25 12:19:03 +00:00
Debasish Biswas
315e947c87
Add more tests (#3601) 2022-10-25 12:15:41 +00:00
Philippe CANCELLIER
6235fd6505
Add tests for Average (#3652) 2022-10-25 15:00:53 +03:00
Debasish Biswas
d88b70113f
Fix naming LinkList_sort -> LinkListSort (#3640) 2022-10-24 21:27:17 +03:00
Siddhant Deepak Pradhan
1e16709680
Update README.md (#3362) 2022-10-23 05:59:40 +00:00
Amit Kumar
c9e7b219a7
Add unit test for CeilInBinarySearchTree (fixes #3395) (#3396)
Co-authored-by: Amit Kumar <akumar@indeed.com>
2022-10-23 05:47:00 +00:00
James Tuong
f35aeb5311
Add ReverseStringTest (#3607)
Co-authored-by: jtuong <Rofleveryday1?>
2022-10-22 19:23:35 +00:00
laks-mi1099
8d4b048cb3
Add LongestValidParenthesesTest (#3612) 2022-10-22 19:21:54 +00:00
ff124012
bf03d16303
Add test for Lower (#3328) 2022-10-22 19:17:18 +00:00
laks-mi1099
ea05286c86
Add tests for PowerSum (#3603) 2022-10-22 19:11:40 +00:00
samratpodder
3ef3d761c6
Add DP Solution to Subset Count (#3580) 2022-10-20 19:51:54 +00:00
kongleong86
f2e0126469
Use GCM mode in AES (fixes #3324) (#3325) 2022-10-18 21:24:25 +03:00
Amarildo Aliaj
8803b7f5e7
Add tests for Area (#3358) 2022-10-18 21:03:58 +03:00
Rebecca Velez
ddcb5cfead
Create test cases for SlowSort (closes #3361) (#3363) 2022-10-17 15:15:06 +00:00
Kumaraswamy B G
8855cf9525
Optimize Hashmap implementation (#3533) 2022-10-17 14:36:09 +00:00
Debasish Biswas
cdd12a128d
Add Dual Pivot QuickSort (#3357) 2022-10-15 06:06:36 +00:00
Akshay Dubey
efac505a6d
Add twin prime (#3312) 2022-10-14 09:36:26 +00:00
Ricardo Ramos
c805437c0c
Add tests for CountChar (#3334) 2022-10-12 18:42:24 +00:00
Smiti Maheshwari
c59fc923bf
Add fcfs scheduling (#3335)
Co-authored-by: Smiti <smmaheshwari@paypal.com>
2022-10-12 21:39:34 +03:00
Ricardo Ramos
911b98472c
Add Tests for Dudeney Number (#3336) 2022-10-10 17:25:06 +00:00
samratpodder
8661d07276
Add sum without using any mathematical operators (#3473) 2022-10-10 20:19:01 +03:00
Aitor Fidalgo Sánchez
03a4832a7d
Add an interface for matrix search algorithms (closes #3461) (#3464) 2022-10-09 14:45:36 +03:00
Shashwat Gupta
cce1dbd124
Add algorithm to search for an element in 2D array (#3306) 2022-10-09 12:23:36 +03:00
Aitor Fidalgo Sánchez
302db81bb8
Fixes #3323 Javadoc generation errors in backtracking algorithms (#3326) 2022-10-08 14:10:34 +03:00
Narek Karapetian
471d2c0b5d
Fix CircularBuffer and add unit tests (#3411) 2022-10-06 16:51:10 +08:00
acbin
e96f567bfc
Format code with prettier (#3375) 2022-10-03 17:23:00 +08:00
J2mF
e4eb99ff18
Add A5 Cipher (#3292) 2022-09-27 16:33:13 +00:00
Amarildo Aliaj
8ca571d887
Add Collatz Conjecture (#3290) 2022-09-26 04:51:21 +00:00
Akshay Dubey
ea8e0463ef
Add Liouville lambda function (#3284) 2022-09-24 13:18:12 +00:00
Mihir Sawant
2fbb1d6402
Add hamming distance (#3270) 2022-09-24 16:14:39 +03:00
Akshay Dubey
07a5531f1a
Add prime factorization algorithm (#3278) 2022-09-21 19:29:20 +00:00
valjamwo
d56eaa58af
Add LRUCacheTest and MRUCacheTest (fixes #3263) (#3277) 2022-09-19 20:55:15 +03:00
Aitor Fidalgo Sánchez
a2dd154ad6
Add BubbleSort unit tests (#3275) 2022-09-19 17:23:08 +00:00
Akshay Dubey
a41656a311
Add pollard rho algorithm (#3260) 2022-09-16 07:27:40 +00:00
0x3C50
9c418ba827
Add pangram check tests (#3267) 2022-09-15 13:31:11 +00:00
Pratyush Singh
8f18b92f6e
Add count set bits algorithm (#3262) 2022-09-14 17:05:23 +00:00
Mann
20a1f40c5a
Add Isomorphic Strings (#3253)
Co-authored-by: Andrii Siriak <siryaka@gmail.com>
2022-09-13 02:29:26 +03:00
Poorva Diwan
1e4c4a112d
Add Perimeter Calculation Algorithms (#3247)
Co-authored-by: Andrii Siriak <siryaka@gmail.com>
2022-09-08 10:05:06 +03:00
vie02
d22420fea8
Fix off-by-one error (fixes #3248) (#3250) 2022-09-07 09:01:22 +03:00
Akshay Dubey
69d0070c99
Add mobius function (#3241) 2022-09-03 06:34:06 +00:00
Shashwat Gupta
6cfb628487
Add Binary Search in 2D Array (#3240) 2022-09-03 09:31:55 +03:00
David Liu
9e37775506
Replace List in BFS with Queue (#3231) 2022-08-28 05:46:58 +00:00
Shashwat Gupta
c500e8ae5a
Add Newton Raphson method (#3224) 2022-08-27 09:40:06 +03:00
Siddhant Swarup Mallick
2ffcff12fc
Fix fast inverse sqrt (fixes #3199) (#3228)
Co-authored-by: Andrii Siriak <siryaka@gmail.com>
2022-08-24 13:37:07 +03:00
Zohaib Hussain
12a4e27213
Fix printTreepre (#3218) 2022-08-18 20:40:20 +03:00
LauKinHoong
3f69603440
Add least common multiple algorithm (#3216) 2022-08-17 08:59:07 +03:00
HManiac74
e87e097f06
Cleanup unused imports (#3217) 2022-08-17 08:30:15 +03:00
AmirMohammad Hosseini Nasab
05660dae92
Add K-D Tree (#3210) 2022-08-13 11:00:00 +00:00
Kunal Patil
854b900257
Add Josephus Problem Recursive Solution (#3208) 2022-08-13 10:50:39 +00:00
AmirMohammad Hosseini Nasab
3e8f30c72a
Add Lazy Segment Tree (#3209) 2022-08-10 17:27:53 +00:00
Ong Lip Wei
d63813e0a2
Add maze recursion algorithm (#3204) 2022-08-08 20:47:04 +03:00
tackhwa
d82a2006ba
Add Binary Insertion Sort (#3206) 2022-08-07 08:19:25 +00:00
Marcus
b36f359076
Add Strand Sort (#3205) 2022-08-06 20:22:42 +00:00
tackhwa
92bd9ba3c9
Add Rabin-Karp String Search Algorithm (#3201) 2022-08-05 20:29:35 +03:00
Marcus
965c20381c
Add KMP String Search Algorithm (#3200) 2022-08-03 20:46:44 +03:00
edison3701
3918d9eaee
Add three new distance formulas (#3203)
-Manhattan Distance
-Hamming Distance
-Minkowski Distance
2022-08-02 21:39:52 +03:00
Tuca Wang
9b13852f20
Fix missing package paths (#3196) (#3198) 2022-07-22 22:51:38 +03:00
Hien Nguyen
898c2f6414
Add tests for Selection Sort (#3091) 2022-07-19 20:40:59 +03:00
haeshed
0abce97682
Add Hash Table with Cuckoo Hashing (#3191) 2022-07-18 18:01:29 +00:00
Divya Raichura
ffd02504d9
Add generic hashmaps (#3195) 2022-07-17 23:00:55 +03:00