58 Commits

Author SHA1 Message Date
35f23d2ddc refactor: BoyerMoore (#5395) 2024-08-26 10:33:24 +03:00
cdb6412601 refactor: LineSweep (#5398) 2024-08-26 09:45:07 +03:00
a5f57fbfde refactor: ArrayLeftRotationTest (#5389) 2024-08-25 23:08:10 +03:00
25b8010ea8 refactor: cleanup EulersFunction (#5388) 2024-08-25 22:44:55 +03:00
f3851e3adc refactor: RemoveDuplicateFromString (#5387) 2024-08-25 22:33:41 +03:00
69e1fe9cfb refactor: LowestBasePalindrome (#5385) 2024-08-25 10:16:14 +03:00
0b0b26e3fe refactor: ReverseStackUsingRecursion (#5386) 2024-08-25 10:12:17 +03:00
38688440ef refactor: TwoPointers (#5380) 2024-08-25 09:29:17 +03:00
75355e87b6 refactor: PasswordGen (#5373) 2024-08-24 11:57:40 +03:00
ce4eb55e0e refactor: FloydTriangle (#5367) 2024-08-23 15:55:13 +03:00
9973b8efc8 refactor: redesign StringMatchFiniteAutomata (#5222)
* refactor

* add test

* fix clang

* fix pmd

* remove main method

* refactor searchPattern with private class

* fix checkstyle

* Update src/main/java/com/thealgorithms/others/StringMatchFiniteAutomata.java

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

* Update src/main/java/com/thealgorithms/others/StringMatchFiniteAutomata.java

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

* Update src/main/java/com/thealgorithms/others/StringMatchFiniteAutomata.java

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

* fix clang

* tests: add more test cases

---------

Co-authored-by: Samuel Facchinello <samuel.facchinello@piksel.com>
Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2024-06-17 20:55:20 +00:00
a81fb32e6c style: enable TypeName (#5214)
* style: enable `TypeName` in checkstyle

* style: enable `TypeName` in checkstyle

* Update directory

* style: use proper formatting

---------

Co-authored-by: StarDxxx <StarDxxx@users.noreply.github.com>
Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2024-06-08 13:37:20 +02:00
295e7436b1 style: enable MethodName in CheckStyle (#5182)
enabled: MethodName in CheckStyle
2024-05-27 09:06:06 +02:00
d2ddec55e5 style: include NAB_NEEDLESS_BOOLEAN_CONSTANT_CONVERSION (#5149)
* style: use `assertFalse` and `assertTrue`

* style: include `NAB_NEEDLESS_BOOLEAN_CONSTANT_CONVERSION`
2024-05-08 22:41:46 +05:30
d3bb691f59 style: enable HideUtilityClassConstructor in checkstyle (#5147) 2024-05-08 09:58:29 +03:00
414835db11 style: enable AvoidStarImport in checkstyle (#5141) 2024-05-05 20:48:56 +02:00
8804cec957 Feature/4638 array right rotation (#5014)
* Create ArrayRightRotationTest.java

* Create ArrayRightRotation.java

* The updated one

* The updated one

* Added the test cases

* Added new test cases!

* Update ArrayRightRotation.java

* Update ArrayRightRotationTest.java
2024-01-13 13:59:30 +05:30
19b7a22ec9 Remove unused imports from BoyerMooreTest (#5012) 2024-01-10 20:31:38 +02:00
574138c7a3 Cleanup BoyerMoore (#4951)
* modify code to make use of java Optional class

* revert changes

* add java.util.Optional<Integer>

* add java.util.Optional

* refactors: make `findmajor` return `optional`

* refactors: make method name findMajor and split it

* refactors: change method name in tests

* Apply suggestions from code review

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

* change back to int

* fix: swap arguments

* tests: add some test cases

* refactor: add `isMajority` and avoid rounding

* style: use `var`

* style: swap arguments of `countOccurrences`

---------

Co-authored-by: vil02 <vil02@o2.pl>
Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2023-10-31 09:07:59 +01:00
945e7b56bb Fix:/Number of count of major element in Boyer Moore algorithm (#4728)
* Number of count of major element in Boyer Moore algorithm

* test: add `BoyerMooreTest`

* style: basic linting

* tests: add test case from the issue

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
Co-authored-by: vil02 <vil02@o2.pl>
2023-10-30 18:24:23 +01:00
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
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
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
af80c8005d Add Sliding Window Problem (#4322) 2023-08-18 14:08:40 +00:00
e5c7a08874 Handle inputs like "2 +" in StackPostfixNotation (#4262) 2023-07-26 14:11:28 +03:00
44dcebb699 Handle incorrect inputs in StackPostfixNotation (#4261) 2023-07-26 06:20:56 +00:00
2488a2ad51 Code cleanup (#4246) 2023-07-22 15:23:00 +00:00
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
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
87d6083bac Add tests for EulersFunction (#4216) 2023-06-19 20:46:54 +03:00
415a04ea7f Add automatic linter (#4214) 2023-06-09 20:05:14 +08:00
00282efd8b style: format code (#4212)
close #4204
2023-06-09 18:52:05 +08:00
ad03086f54 Remove main and add tests for CountWords (#4210) 2023-06-02 16:28:33 +00:00
5d7a59654f Refactor LowestBasePalindrome (#4207) 2023-05-29 23:05:23 +03:00
bb830e9559 Add tests for TwoSumProblem and reduce duplication (fixes #4177) (#4176) 2023-05-02 20:03:21 +03:00
1551b8f50b Add line sweep algorithm (#4157) 2023-04-19 08:12:30 +00:00
1dc388653a Refactor Code Style (#4151) 2023-04-15 11:25:54 +03:00
dd949e9b5d Increase test coverage (fixes #3895 #3896) (#3897) 2023-03-05 21:03:08 +02:00
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
d5f140458a Add two algorithms with matrixes (#3364) 2023-01-14 10:01:03 +00:00
b8d6b1a9b0 Create CRC16.java (#3733)
* Create CRC16.java

* Create CRC16Test.java
2022-11-09 10:20:54 +05:30
d88b70113f Fix naming LinkList_sort -> LinkListSort (#3640) 2022-10-24 21:27:17 +03:00
c805437c0c Add tests for CountChar (#3334) 2022-10-12 18:42:24 +00:00
e96f567bfc Format code with prettier (#3375) 2022-10-03 17:23:00 +08:00
2fbb1d6402 Add hamming distance (#3270) 2022-09-24 16:14:39 +03:00
8f18b92f6e Add count set bits algorithm (#3262) 2022-09-14 17:05:23 +00:00
0d97d0bc8e Add Devcontainer Support (#3156)
Co-authored-by: Arindam Paul <arindam.paul.1989@gmail.com>
Co-authored-by: Andrii Siriak <siryaka@gmail.com>
2022-06-24 16:29:08 +03:00
c0b2c56628 Add tests for PasswordGen (#3163) 2022-06-23 09:23:11 +03:00
2bcae52dce Rename CPUalgorithms to MemoryManagmentAlgorithms (#3071) 2022-05-31 16:12:59 +03:00
10f41eeee9 Add max of mins algorithm (#3044) 2022-05-08 12:05:05 +03:00