style: enable HideUtilityClassConstructor in checkstyle (#5147)

This commit is contained in:
Piotr Idzik
2024-05-08 08:58:29 +02:00
committed by GitHub
parent 030bb91d05
commit d3bb691f59
285 changed files with 895 additions and 339 deletions

View File

@ -175,7 +175,7 @@
<!-- See https://checkstyle.org/checks/design/index.html -->
<!-- TODO <module name="DesignForExtension"/> -->
<!-- TODO <module name="FinalClass"/> -->
<!-- TODO <module name="HideUtilityClassConstructor"/> -->
<module name="HideUtilityClassConstructor"/>
<module name="InterfaceIsType"/>
<!-- TODO <module name="VisibilityModifier"/> -->

View File

@ -7,7 +7,9 @@ import java.util.TreeSet;
* Finds all permutations of 1...n of length k
* @author TheClerici (<a href="https://github.com/TheClerici">git-TheClerici</a>)
*/
public class ArrayCombination {
public final class ArrayCombination {
private ArrayCombination() {
}
private static int length;
/**

View File

@ -9,7 +9,9 @@ import java.util.TreeSet;
* Finds all permutations of given array
* @author Alan Piao (<a href="https://github.com/cpiao3">git-Alan Piao</a>)
*/
public class Combination {
public final class Combination {
private Combination() {
}
private static int length;

View File

@ -26,7 +26,9 @@ import java.util.List;
51 46 55 44 53 4 21 12
*/
public class KnightsTour {
public final class KnightsTour {
private KnightsTour() {
}
private static final int BASE = 12;
private static final int[][] MOVES = {

View File

@ -14,7 +14,9 @@ class Node {
Set<Integer> edges = new HashSet<Integer>();
}
public class MColoring {
public final class MColoring {
private MColoring() {
}
static int possiblePaint(ArrayList<Node> nodes, int n, int m) {
// Create a visited array of n nodes

View File

@ -1,6 +1,8 @@
package com.thealgorithms.backtracking;
public class MazeRecursion {
public final class MazeRecursion {
private MazeRecursion() {
}
public static void mazeRecursion() {
// First create a 2 dimensions array to mimic a maze map

View File

@ -32,7 +32,9 @@ import java.util.List;
* queen is not placed safely. If there is no such way then return an empty list
* as solution
*/
public class NQueens {
public final class NQueens {
private NQueens() {
}
public static void main(String[] args) {
placeQueens(1);

View File

@ -7,7 +7,9 @@ import java.util.List;
* Finds all permutations of given array
* @author Alan Piao (<a href="https://github.com/cpiao3">Git-Alan Piao</a>)
*/
public class Permutation {
public final class Permutation {
private Permutation() {
}
/**
* Find all permutations of given array using backtracking

View File

@ -5,7 +5,9 @@ package com.thealgorithms.bitmanipulation;
* @author Bama Charan Chhandogi (https://github.com/BamaCharanChhandogi)
*/
public class IndexOfRightMostSetBit {
public final class IndexOfRightMostSetBit {
private IndexOfRightMostSetBit() {
}
public static int indexOfRightMostSetBit(int n) {
if (n == 0) {
return -1; // No set bits

View File

@ -5,7 +5,9 @@ package com.thealgorithms.bitmanipulation;
* @author Bama Charan Chhandogi (https://github.com/BamaCharanChhandogi)
*/
public class IsEven {
public final class IsEven {
private IsEven() {
}
public static boolean isEven(int number) {
return (number & 1) == 0;
}

View File

@ -5,7 +5,9 @@ package com.thealgorithms.bitmanipulation;
* @author Bama Charan Chhandogi (https://github.com/BamaCharanChhandogi)
*/
public class IsPowerTwo {
public final class IsPowerTwo {
private IsPowerTwo() {
}
public static boolean isPowerTwo(int number) {
if (number <= 0) {
return false;

View File

@ -5,7 +5,9 @@ package com.thealgorithms.bitmanipulation;
* @author Bama Charan Chhandogi (https://github.com/BamaCharanChhandogi)
*/
public class NonRepeatingNumberFinder {
public final class NonRepeatingNumberFinder {
private NonRepeatingNumberFinder() {
}
public static int findNonRepeatingNumber(int[] arr) {
int result = 0;

View File

@ -5,7 +5,9 @@ package com.thealgorithms.bitmanipulation;
* @author Bama Charan Chhandogi
*/
public class NumbersDifferentSigns {
public final class NumbersDifferentSigns {
private NumbersDifferentSigns() {
}
public static boolean differentSigns(int num1, int num2) {
return (num1 ^ num2) < 0;

View File

@ -5,7 +5,9 @@ package com.thealgorithms.bitmanipulation;
* @author Bama Charan Chhandogi
*/
public class ReverseBits {
public final class ReverseBits {
private ReverseBits() {
}
public static int reverseBits(int n) {
int result = 0;

View File

@ -7,7 +7,9 @@ import java.util.Scanner;
* This class is build to demonstrate the application of the AES-algorithm on a
* single 128-Bit block of data.
*/
public class AES {
public final class AES {
private AES() {
}
/**
* Precalculated values for x to the power of 2 in Rijndaels galois field.

View File

@ -17,7 +17,9 @@ import javax.crypto.spec.GCMParameterSpec;
* hence in the following program we display it in hexadecimal format of the
* underlying bytes.
*/
public class AESEncryption {
public final class AESEncryption {
private AESEncryption() {
}
private static final char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray();
private static Cipher aesCipher;

View File

@ -1,6 +1,8 @@
package com.thealgorithms.ciphers;
class AffineCipher {
final class AffineCipher {
private AffineCipher() {
}
// Key values of a and b
static int a = 17;

View File

@ -7,7 +7,9 @@ import java.util.Objects;
*
* @author <a href="https://github.com/freitzzz">freitzzz</a>
*/
public class ColumnarTranspositionCipher {
public final class ColumnarTranspositionCipher {
private ColumnarTranspositionCipher() {
}
private static String keyword;
private static Object[][] table;

View File

@ -11,7 +11,9 @@ import java.util.Scanner;
* for encryption. The cipher key and plaintext/ciphertext are user inputs.
* @author Ojasva Jain
*/
public class HillCipher {
public final class HillCipher {
private HillCipher() {
}
static Scanner userInput = new Scanner(System.in);

View File

@ -13,7 +13,9 @@ package com.thealgorithms.ciphers;
* @author Hikmet ÇAKIR
* @since 08-07-2022+03:00
*/
public class Polybius {
public final class Polybius {
private Polybius() {
}
private static final char[][] KEY = {
// 0 1 2 3 4

View File

@ -2,7 +2,9 @@ package com.thealgorithms.ciphers;
import java.util.Scanner;
class ProductCipher {
final class ProductCipher {
private ProductCipher() {
}
public static void main(String[] args) {
try (Scanner sc = new Scanner(System.in)) {

View File

@ -7,7 +7,9 @@ package com.thealgorithms.ciphers.a5;
import java.util.BitSet;
public class Utils {
public final class Utils {
private Utils() {
}
public static boolean increment(BitSet bits, int size) {
int i = size - 1;

View File

@ -13,7 +13,9 @@ import java.util.Scanner;
* @author Michael Rolland
* @version 2017.10.10
*/
public class AnyBaseToAnyBase {
public final class AnyBaseToAnyBase {
private AnyBaseToAnyBase() {
}
/**
* Smallest and largest base you want to accept as valid input

View File

@ -4,7 +4,9 @@ package com.thealgorithms.conversions;
* @author Varun Upadhyay (<a href="https://github.com/varunu28">...</a>)
*/
// Driver program
public class AnyBaseToDecimal {
public final class AnyBaseToDecimal {
private AnyBaseToDecimal() {
}
public static void main(String[] args) {
assert convertToDecimal("1010", 2) == Integer.valueOf("1010", 2);

View File

@ -6,7 +6,9 @@ import java.util.Scanner;
// number.
// sn ,sb,db ---> ()dn . this is what we have to do .
public class AnytoAny {
public final class AnytoAny {
private AnytoAny() {
}
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);

View File

@ -5,7 +5,9 @@ import java.util.Scanner;
/**
* This class converts a Binary number to a Decimal number
*/
class BinaryToDecimal {
final class BinaryToDecimal {
private BinaryToDecimal() {
}
public static long binaryToDecimal(long binNum) {
long binCopy, d, s = 0, power = 0;

View File

@ -8,7 +8,9 @@ import java.util.Scanner;
*
* @author Nishita Aggarwal
*/
public class BinaryToHexadecimal {
public final class BinaryToHexadecimal {
private BinaryToHexadecimal() {
}
/**
* This method converts a binary number to a hexadecimal number.

View File

@ -7,7 +7,9 @@ import java.util.Scanner;
*
* @author Zachary Jones
*/
public class BinaryToOctal {
public final class BinaryToOctal {
private BinaryToOctal() {
}
/**
* Main method

View File

@ -8,7 +8,9 @@ import java.util.ArrayList;
* @author Varun Upadhyay (<a href="https://github.com/varunu28">...</a>)
*/
// Driver Program
public class DecimalToAnyBase {
public final class DecimalToAnyBase {
private DecimalToAnyBase() {
}
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

View File

@ -5,7 +5,9 @@ import java.util.Scanner;
/**
* This class converts a Decimal number to a Binary number
*/
class DecimalToBinary {
final class DecimalToBinary {
private DecimalToBinary() {
}
/**
* Main Method

View File

@ -1,7 +1,9 @@
package com.thealgorithms.conversions;
// hex = [0 - 9] -> [A - F]
class DecimalToHexaDecimal {
final class DecimalToHexaDecimal {
private DecimalToHexaDecimal() {
}
private static final int SIZE_OF_INT_IN_HALF_BYTES = 8;
private static final int NUMBER_OF_BITS_IN_HALF_BYTE = 4;

View File

@ -5,7 +5,9 @@ import java.util.Scanner;
/**
* This class converts Decimal numbers to Octal Numbers
*/
public class DecimalToOctal {
public final class DecimalToOctal {
private DecimalToOctal() {
}
/**
* Main Method

View File

@ -7,7 +7,9 @@ import java.util.Scanner;
*
* @author Tanmay Joshi
*/
public class HexToOct {
public final class HexToOct {
private HexToOct() {
}
/**
* This method converts a Hexadecimal number to a decimal number

View File

@ -2,7 +2,9 @@ package com.thealgorithms.conversions;
import java.util.Scanner;
public class HexaDecimalToDecimal {
public final class HexaDecimalToDecimal {
private HexaDecimalToDecimal() {
}
// convert hexadecimal to decimal
public static int getHexaToDec(String hex) {

View File

@ -7,7 +7,9 @@ package com.thealgorithms.conversions;
* ('I', 1); ('IV',4); ('V', 5); ('IX',9); ('X', 10); ('XL',40); ('L', 50);
* ('XC',90); ('C', 100); ('D', 500); ('M', 1000);
*/
public class IntegerToRoman {
public final class IntegerToRoman {
private IntegerToRoman() {
}
private static final int[] ALL_ROMAN_NUMBERS_IN_ARABIC = new int[] {
1000,

View File

@ -6,7 +6,9 @@ package com.thealgorithms.conversions;
* @author Bama Charan Chhandogi
*/
public class OctalToBinary {
public final class OctalToBinary {
private OctalToBinary() {
}
public static long convertOctalToBinary(int octalNumber) {
long binaryNumber = 0;
int digitPosition = 1;

View File

@ -7,7 +7,9 @@ import java.util.Scanner;
*
* @author Zachary Jones
*/
public class OctalToDecimal {
public final class OctalToDecimal {
private OctalToDecimal() {
}
/**
* Main method

View File

@ -7,7 +7,9 @@ import java.util.Scanner;
*
* @author Tanmay Joshi
*/
public class OctalToHexadecimal {
public final class OctalToHexadecimal {
private OctalToHexadecimal() {
}
/**
* This method converts a Octal number to a decimal number

View File

@ -13,7 +13,9 @@ import java.util.Arrays;
* (description adapted from <a href="https://en.wikipedia.org/wiki/RGB_color_model">[1]</a> and
* <a href="https://en.wikipedia.org/wiki/HSL_and_HSV">[2]</a>).
*/
public class RgbHsvConversion {
public final class RgbHsvConversion {
private RgbHsvConversion() {
}
public static void main(String[] args) {
// Expected RGB-values taken from https://www.rapidtables.com/convert/color/hsv-to-rgb.html

View File

@ -3,7 +3,9 @@ package com.thealgorithms.conversions;
import java.util.HashMap;
import java.util.Map;
public class RomanToInteger {
public final class RomanToInteger {
private RomanToInteger() {
}
private static final Map<Character, Integer> ROMAN_TO_INT = new HashMap<>() {
{

View File

@ -7,7 +7,9 @@ import java.util.Scanner;
*
* @author Özgün Gökşenli
*/
public class TurkishToLatinConversion {
public final class TurkishToLatinConversion {
private TurkishToLatinConversion() {
}
/**
* Main method

View File

@ -9,7 +9,9 @@ import java.util.Comparator;
import java.util.List;
import java.util.PriorityQueue;
public class A_Star {
public final class A_Star {
private A_Star() {
}
private static class Graph {

View File

@ -14,7 +14,9 @@ import java.util.Arrays;
*
* Output : YES
*/
public class BipartiteGrapfDFS {
public final class BipartiteGrapfDFS {
private BipartiteGrapfDFS() {
}
private static boolean bipartite(int V, ArrayList<ArrayList<Integer>> adj, int[] color, int node) {
if (color[node] == -1) {

View File

@ -107,7 +107,9 @@ class Graph<E extends Comparable<E>> {
}
}
public class ConnectedComponent {
public final class ConnectedComponent {
private ConnectedComponent() {
}
public static void main(String[] args) {
Graph<Character> graphChars = new Graph<>();

View File

@ -78,7 +78,9 @@ class Cycle {
}
}
public class Cycles {
public final class Cycles {
private Cycles() {
}
public static void main(String[] args) {
Cycle c = new Cycle();

View File

@ -120,7 +120,9 @@ class AdjacencyListGraph<E extends Comparable<E>> {
}
}
public class Graphs {
public final class Graphs {
private Graphs() {
}
public static void main(String[] args) {
AdjacencyListGraph<Integer> graph = new AdjacencyListGraph<>();

View File

@ -130,7 +130,9 @@ class TopologicalSort<E extends Comparable<E>> {
/**
* A driver class that sorts a given graph in topological order.
*/
public class KahnsAlgorithm {
public final class KahnsAlgorithm {
private KahnsAlgorithm() {
}
public static void main(String[] args) {
// Graph definition and initialization

View File

@ -12,7 +12,9 @@ import java.util.Queue;
*
* @author Unknown
*/
public class MatrixGraphs {
public final class MatrixGraphs {
private MatrixGraphs() {
}
public static void main(String[] args) {
AdjacencyMatrixGraph graph = new AdjacencyMatrixGraph(10);

View File

@ -2,7 +2,9 @@ package com.thealgorithms.datastructures.hashmap.hashing;
import java.util.Scanner;
public class Main {
public final class Main {
private Main() {
}
public static void main(String[] args) {
int choice, key;

View File

@ -2,7 +2,9 @@ package com.thealgorithms.datastructures.hashmap.hashing;
import java.util.Scanner;
public class MainCuckooHashing {
public final class MainCuckooHashing {
private MainCuckooHashing() {
}
public static void main(String[] args) {
int choice, key;

View File

@ -8,7 +8,9 @@ This class finds the majority element(s) in an array of integers.
A majority element is an element that appears more than or equal to n/2 times, where n is the length
of the array.
*/
public class MajorityElement {
public final class MajorityElement {
private MajorityElement() {
}
/*
This method returns the majority element(s) in the given array of integers.
@param nums: an array of integers

View File

@ -2,7 +2,9 @@ package com.thealgorithms.datastructures.lists;
import java.util.Scanner;
public class CreateAndDetectLoop {
public final class CreateAndDetectLoop {
private CreateAndDetectLoop() {
}
/**
* Prints the linked list.

View File

@ -6,7 +6,9 @@ import java.util.List;
/**
* @author https://github.com/shellhub
*/
public class MergeSortedArrayList {
public final class MergeSortedArrayList {
private MergeSortedArrayList() {
}
public static void main(String[] args) {
List<Integer> listA = new ArrayList<>();

View File

@ -152,7 +152,9 @@ class Queue {
*
* @author Unknown
*/
public class Queues {
public final class Queues {
private Queues() {
}
/**
* Main method

View File

@ -8,7 +8,9 @@ import java.util.Stack;
*
* @author Ishika Agarwal, 2021
*/
public class ReverseStack {
public final class ReverseStack {
private ReverseStack() {
}
public static void main(String[] args) {
try (Scanner sc = new Scanner(System.in)) {

View File

@ -6,7 +6,9 @@ import java.util.NoSuchElementException;
* @author Varun Upadhyay (https://github.com/varunu28)
*/
// An implementation of a Stack using a Linked List
class StackOfLinkedList {
final class StackOfLinkedList {
private StackOfLinkedList() {
}
public static void main(String[] args) {
LinkedListStack stack = new LinkedListStack();

View File

@ -9,7 +9,9 @@ import com.thealgorithms.datastructures.trees.BinaryTree.Node;
* left half recursively to create left subtree 3. Use the right half
* recursively to create right subtree
*/
public class BSTFromSortedArray {
public final class BSTFromSortedArray {
private BSTFromSortedArray() {
}
public static Node createBST(int[] array) {
if (array == null || array.length == 0) {
return null;

View File

@ -42,7 +42,9 @@ import com.thealgorithms.datastructures.trees.BinaryTree.Node;
* subtree. If left subtree returns a non-null value then that will be ceil
* otherwise the root is ceil
*/
public class CeilInBinarySearchTree {
public final class CeilInBinarySearchTree {
private CeilInBinarySearchTree() {
}
public static Node getCeil(Node root, int key) {
if (root == null) {

View File

@ -8,7 +8,9 @@ package com.thealgorithms.datastructures.trees;
* where 'min' and 'max' values represent the child nodes (left, right).
* 2. The smallest possible node value is Integer.MIN_VALUE, the biggest - Integer.MAX_VALUE.
*/
public class CheckBinaryTreeIsValidBST {
public final class CheckBinaryTreeIsValidBST {
private CheckBinaryTreeIsValidBST() {
}
public static boolean isBST(BinaryTree.Node root) {
return isBSTUtil(root, Integer.MIN_VALUE, Integer.MAX_VALUE);
}

View File

@ -14,7 +14,9 @@ import java.util.Stack;
*
* @author [Ian Cowan](<a href="https://github.com/iccowan">Git-Ian Cowan</a>)
*/
public class CheckIfBinaryTreeBalanced {
public final class CheckIfBinaryTreeBalanced {
private CheckIfBinaryTreeBalanced() {
}
/**
* Recursive is BT balanced implementation
*

View File

@ -30,7 +30,9 @@ import com.thealgorithms.datastructures.trees.BinaryTree.Node;
*
* @author kumanoit on 10/10/22 IST 12:52 AM
*/
public class CheckTreeIsSymmetric {
public final class CheckTreeIsSymmetric {
private CheckTreeIsSymmetric() {
}
public static boolean isSymmetric(Node root) {
if (root == null) {

View File

@ -17,7 +17,9 @@ import java.util.Map;
* Complexity: Time: O(n) hashmap reduced iteration to find index in inorder
* array Space: O(n) space taken by hashmap
*/
public class CreateBinaryTreeFromInorderPreorder {
public final class CreateBinaryTreeFromInorderPreorder {
private CreateBinaryTreeFromInorderPreorder() {
}
public static Node createTree(final Integer[] preorder, final Integer[] inorder) {
if (preorder == null || inorder == null) {
return null;

View File

@ -25,7 +25,9 @@ import java.util.List;
*
* @author Albina Gimaletdinova on 21/02/2023
*/
public class InorderTraversal {
public final class InorderTraversal {
private InorderTraversal() {
}
public static List<Integer> recursiveInorder(BinaryTree.Node root) {
List<Integer> result = new ArrayList<>();
recursiveInorder(root, result);

View File

@ -3,7 +3,9 @@ package com.thealgorithms.datastructures.trees;
import java.util.ArrayList;
import java.util.Scanner;
public class LCA {
public final class LCA {
private LCA() {
}
private static final Scanner SCANNER = new Scanner(System.in);

View File

@ -5,7 +5,9 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
public class LevelOrderTraversal {
public final class LevelOrderTraversal {
private LevelOrderTraversal() {
}
public static List<List<Integer>> traverse(BinaryTree.Node root) {
if (root == null) {

View File

@ -26,7 +26,9 @@ import java.util.List;
*
* @author Albina Gimaletdinova on 21/02/2023
*/
public class PostOrderTraversal {
public final class PostOrderTraversal {
private PostOrderTraversal() {
}
public static List<Integer> recursivePostOrder(BinaryTree.Node root) {
List<Integer> result = new ArrayList<>();
recursivePostOrder(root, result);

View File

@ -25,7 +25,9 @@ import java.util.List;
*
* @author Albina Gimaletdinova on 17/02/2023
*/
public class PreOrderTraversal {
public final class PreOrderTraversal {
private PreOrderTraversal() {
}
public static List<Integer> recursivePreOrder(BinaryTree.Node root) {
List<Integer> result = new ArrayList<>();
recursivePreOrder(root, result);

View File

@ -87,7 +87,9 @@ class Tree {
}
// Driver class to test above methods
public class PrintTopViewofTree {
public final class PrintTopViewofTree {
private PrintTopViewofTree() {
}
public static void main(String[] args) {
/* Create following Binary Tree

View File

@ -32,7 +32,9 @@ import java.util.Deque;
*
* @author Albina Gimaletdinova on 13/01/2023
*/
public class SameTreesCheck {
public final class SameTreesCheck {
private SameTreesCheck() {
}
public static boolean check(BinaryTree.Node p, BinaryTree.Node q) {
if (p == null && q == null) {
return true;

View File

@ -20,7 +20,9 @@ in a tree from top to bottom and left to right, so for a tree :
the sequence will be :
4 2 7 1 5 9 3 8 6 10
*/
public class VerticalOrderTraversal {
public final class VerticalOrderTraversal {
private VerticalOrderTraversal() {
}
/*Function that receives a root Node and prints the tree
in Vertical Order.*/

View File

@ -34,7 +34,9 @@ import java.util.List;
*
* @author Albina Gimaletdinova on 11/01/2023
*/
public class ZigzagTraversal {
public final class ZigzagTraversal {
private ZigzagTraversal() {
}
public static List<List<Integer>> traverse(BinaryTree.Node root) {
if (root == null) {
return List.of();

View File

@ -3,7 +3,9 @@ package com.thealgorithms.datastructures.trees;
import java.util.Scanner;
import java.util.concurrent.ThreadLocalRandom;
class Main {
final class NearestRightKey {
private NearestRightKey() {
}
public static void main(String[] args) {
NRKTree root = BuildTree();

View File

@ -25,7 +25,9 @@ int n=10;
*/
public class BoardPath {
public final class BoardPath {
private BoardPath() {
}
public static long startTime;
public static long endTime;

View File

@ -4,7 +4,9 @@ package com.thealgorithms.dynamicprogramming;
* Java program for Boundary fill algorithm.
* @author Akshay Dubey (https://github.com/itsAkshayDubey)
*/
public class BoundaryFill {
public final class BoundaryFill {
private BoundaryFill() {
}
/**
* Get the color at the given co-odrinates of a 2D image

View File

@ -2,7 +2,9 @@ package com.thealgorithms.dynamicprogramming;
/* A Naive recursive implementation
of 0-1 Knapsack problem */
public class BruteForceKnapsack {
public final class BruteForceKnapsack {
private BruteForceKnapsack() {
}
// Returns the maximum value that
// can be put in a knapsack of
// capacity W

View File

@ -10,7 +10,9 @@ package com.thealgorithms.dynamicprogramming;
*/
import java.util.Scanner;
public class CatalanNumber {
public final class CatalanNumber {
private CatalanNumber() {
}
/**
* This method finds the nth Catalan number

View File

@ -5,7 +5,9 @@ package com.thealgorithms.dynamicprogramming;
Link : https://medium.com/analytics-vidhya/leetcode-q70-climbing-stairs-easy-444a4aae54e8
*/
public class ClimbingStairs {
public final class ClimbingStairs {
private ClimbingStairs() {
}
public static int numberOfWays(int n) {

View File

@ -3,7 +3,9 @@ package com.thealgorithms.dynamicprogramming;
/**
* @author Varun Upadhyay (https://github.com/varunu28)
*/
public class CoinChange {
public final class CoinChange {
private CoinChange() {
}
// Driver Program
public static void main(String[] args) {

View File

@ -15,7 +15,9 @@
package com.thealgorithms.dynamicprogramming;
public class CountFriendsPairing {
public final class CountFriendsPairing {
private CountFriendsPairing() {
}
public static boolean countFriendsPairing(int n, int[] a) {
int[] dp = new int[n + 1];

View File

@ -13,7 +13,9 @@ Following is implementation of Dynamic Programming approach. */
// Code ---->
// Java program to find number of ways to get sum 'x' with 'n'
// dice where every dice has 'm' faces
class DP {
final class DP {
private DP() {
}
/* The main function that returns the number of ways to get sum 'x' with 'n' dice and 'm' with m
* faces. */

View File

@ -24,7 +24,9 @@ package com.thealgorithms.dynamicprogramming;
*/
import java.util.Scanner;
public class EditDistance {
public final class EditDistance {
private EditDistance() {
}
public static int minDistance(String word1, String word2) {
int len1 = word1.length();

View File

@ -3,7 +3,9 @@ package com.thealgorithms.dynamicprogramming;
/**
* DynamicProgramming solution for the Egg Dropping Puzzle
*/
public class EggDropping {
public final class EggDropping {
private EggDropping() {
}
// min trials with n eggs and m floors
public static int minTrials(int n, int m) {

View File

@ -7,7 +7,9 @@ import java.util.Scanner;
/**
* @author Varun Upadhyay (https://github.com/varunu28)
*/
public class Fibonacci {
public final class Fibonacci {
private Fibonacci() {
}
private static final Map<Integer, Integer> CACHE = new HashMap<>();

View File

@ -4,7 +4,9 @@ import java.util.LinkedList;
import java.util.Queue;
import java.util.Vector;
public class FordFulkerson {
public final class FordFulkerson {
private FordFulkerson() {
}
static final int INF = 987654321;
// edges

View File

@ -6,7 +6,9 @@
/** Program description - To find the maximum subarray sum */
package com.thealgorithms.dynamicprogramming;
public class KadaneAlgorithm {
public final class KadaneAlgorithm {
private KadaneAlgorithm() {
}
public static boolean max_Sum(int[] a, int predicted_answer) {
int sum = a[0], running_sum = 0;

View File

@ -11,7 +11,9 @@ package com.thealgorithms.dynamicprogramming;
x1 < x2 > x3 < x4 > x5 < …. xn or
x1 > x2 < x3 > x4 < x5 > …. xn
*/
public class LongestAlternatingSubsequence {
public final class LongestAlternatingSubsequence {
private LongestAlternatingSubsequence() {
}
/* Function to return longest alternating subsequence length*/
static int AlternatingLength(int[] arr, int n) {

View File

@ -1,6 +1,8 @@
package com.thealgorithms.dynamicprogramming;
class LongestCommonSubsequence {
final class LongestCommonSubsequence {
private LongestCommonSubsequence() {
}
public static String getLCS(String str1, String str2) {
// At least one string is null

View File

@ -5,7 +5,9 @@ import java.util.Scanner;
/**
* @author Afrizal Fikri (https://github.com/icalF)
*/
public class LongestIncreasingSubsequence {
public final class LongestIncreasingSubsequence {
private LongestIncreasingSubsequence() {
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

View File

@ -4,7 +4,9 @@ package com.thealgorithms.dynamicprogramming;
* Algorithm explanation
* https://www.educative.io/edpresso/longest-palindromic-subsequence-algorithm
*/
public class LongestPalindromicSubsequence {
public final class LongestPalindromicSubsequence {
private LongestPalindromicSubsequence() {
}
public static void main(String[] args) {
String a = "BBABCBCAB";

View File

@ -3,7 +3,9 @@ package com.thealgorithms.dynamicprogramming;
/*
* Algorithm explanation https://leetcode.com/problems/longest-palindromic-substring/
*/
public class LongestPalindromicSubstring {
public final class LongestPalindromicSubstring {
private LongestPalindromicSubstring() {
}
public static void main(String[] args) {
String a = "babad";

View File

@ -7,7 +7,9 @@ package com.thealgorithms.dynamicprogramming;
* @author Libin Yang (https://github.com/yanglbme)
* @since 2018/10/5
*/
public class LongestValidParentheses {
public final class LongestValidParentheses {
private LongestValidParentheses() {
}
public static int getLongestValidParentheses(String s) {
if (s == null || s.length() < 2) {

View File

@ -4,7 +4,9 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class MatrixChainMultiplication {
public final class MatrixChainMultiplication {
private MatrixChainMultiplication() {
}
private static final Scanner SCANNER = new Scanner(System.in);
private static final ArrayList<Matrix> MATRICES = new ArrayList<>();

View File

@ -6,7 +6,9 @@ package com.thealgorithms.dynamicprogramming;
// matrix Ai has dimension pi1 ×pi
// , fully parenthesize the product A1A2 ···An in a way that
// minimizes the number of scalar multiplications.
public class MatrixChainRecursiveTopDownMemoisation {
public final class MatrixChainRecursiveTopDownMemoisation {
private MatrixChainRecursiveTopDownMemoisation() {
}
static int Memoized_Matrix_Chain(int[] p) {
int n = p.length;

View File

@ -8,7 +8,9 @@
package com.thealgorithms.dynamicprogramming;
public class NewManShanksPrime {
public final class NewManShanksPrime {
private NewManShanksPrime() {
}
public static boolean nthManShanksPrime(int n, int expected_answer) {
int[] a = new int[n + 1];

View File

@ -17,7 +17,9 @@ import java.util.Scanner;
* "aba | b | bbabb | ababa"
* @author [Syed] (https://github.com/roeticvampire)
*/
public class PalindromicPartitioning {
public final class PalindromicPartitioning {
private PalindromicPartitioning() {
}
public static int minimalpartitions(String word) {
int len = word.length();

View File

@ -18,7 +18,9 @@ package com.thealgorithms.dynamicprogramming;
import java.util.Arrays;
public class PartitionProblem {
public final class PartitionProblem {
private PartitionProblem() {
}
/**
* Test if a set of integers can be partitioned into two subsets such that the sum of elements

View File

@ -12,7 +12,9 @@ package com.thealgorithms.dynamicprogramming;
* length of pat
*
*/
public class RegexMatching {
public final class RegexMatching {
private RegexMatching() {
}
// Method 1: Using Recursion
// Time Complexity=0(2^(N+M)) Space Complexity=Recursion Extra Space

View File

@ -4,7 +4,9 @@ package com.thealgorithms.dynamicprogramming;
* A Dynamic Programming solution for the Rod cutting problem.
* Returns the best obtainable price for a rod of length n and price[] as prices of different pieces.
*/
public class RodCutting {
public final class RodCutting {
private RodCutting() {
}
/**
* This method calculates the maximum obtainable value for cutting a rod of length n

View File

@ -1,7 +1,9 @@
package com.thealgorithms.dynamicprogramming;
// Java program to find length of the shortest supersequence
class ShortestSuperSequence {
final class ShortestSuperSequence {
private ShortestSuperSequence() {
}
// Function to find length of the
// shortest supersequence of X and Y.

View File

@ -1,6 +1,8 @@
package com.thealgorithms.dynamicprogramming;
public class SubsetSum {
public final class SubsetSum {
private SubsetSum() {
}
/**
* Driver Code

Some files were not shown because too many files have changed in this diff Show More