Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions matrixChainMultiply.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/* A naive recursive implementation that simply follows
the above optimal substructure property */
class MatrixChainMultiplication {
// Matrix Ai has dimension p[i-1] x p[i] for i = 1..n
static int MatrixChainOrder(int p[], int i, int j)
{
if (i == j)
return 0;

int min = Integer.MAX_VALUE;

// place parenthesis at different places between
// first and last matrix, recursively calculate
// count of multiplications for each parenthesis
// placement and return the minimum count
for (int k = i; k < j; k++)
{
int count = MatrixChainOrder(p, i, k)
+ MatrixChainOrder(p, k + 1, j)
+ p[i - 1] * p[k] * p[j];

if (count < min)
min = count;
}

// Return minimum count
return min;
}

// Driver code
public static void main(String args[])
{
int arr[] = new int[] { 1, 2, 3, 4, 3 };
int n = arr.length;

System.out.println(
"Minimum number of multiplications is "
+ MatrixChainOrder(arr, 1, n - 1));
}
}
/* This code is contributed by Rajat Mishra*/
43 changes: 43 additions & 0 deletions minCost.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/* A Naive recursive implementation of
MCP(Minimum Cost Path) problem */
public class GFG {

/* A utility function that returns
minimum of 3 integers */
static int min(int x, int y, int z)
{
if (x < y)
return (x < z) ? x : z;
else
return (y < z) ? y : z;
}

/* Returns cost of minimum cost path
from (0,0) to (m, n) in mat[R][C]*/
static int minCost(int cost[][], int m,
int n)
{
if (n < 0 || m < 0)
return Integer.MAX_VALUE;
else if (m == 0 && n == 0)
return cost[m][n];
else
return cost[m][n] +
min( minCost(cost, m-1, n-1),
minCost(cost, m-1, n),
minCost(cost, m, n-1) );
}

// Driver code
public static void main(String args[])
{

int cost[][] = { {1, 2, 3},
{4, 8, 2},
{1, 5, 3} };

System.out.print(minCost(cost, 2, 2));
}
}

// This code is contributed by Sam007
49 changes: 49 additions & 0 deletions stringBuilder.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
// Java code to illustrate StringBuilder

import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;

public class GFG1 {
public static void main(String[] argv)
throws Exception
{

// create a StringBuilder object
// usind StringBuilder() constructor
StringBuilder str
= new StringBuilder();

str.append("GFG");

// print string
System.out.println("String = "
+ str.toString());

// create a StringBuilder object
// usind StringBuilder(CharSequence) constructor
StringBuilder str1
= new StringBuilder("AAAABBBCCCC");

// print string
System.out.println("String1 = "
+ str1.toString());

// create a StringBuilder object
// usind StringBuilder(capacity) constructor
StringBuilder str2
= new StringBuilder(10);

// print string
System.out.println("String2 capacity = "
+ str2.capacity());

// create a StringBuilder object
// usind StringBuilder(String) constructor
StringBuilder str3
= new StringBuilder(str1.toString());

// print string
System.out.println("String3 = "
+ str3.toString());
}
}