diff --git a/Others/GuassLengendre.java b/Others/GuassLengendre.java new file mode 100644 index 000000000000..289516aee3ea --- /dev/null +++ b/Others/GuassLengendre.java @@ -0,0 +1,44 @@ +import java.lang.Math; +/* + * author: @AKS1996 + * Guass Legendre Algorithm + * ref https://en.wikipedia.org/wiki/Gauss–Legendre_algorithm + * + */ + +public class GuassLegendre { + + public static void main(String[] args) { + for(int i=1;i<=3;++i) + System.out.println(pi(i)); + + } + + static double pi(int l){ + /* + * l: No of loops to run + */ + + double a = 1,b=Math.pow(2,-0.5),t=0.25,p=1; + for(int i=0;i letters = new ArrayList(); + for(char c:allChars.toCharArray()) + letters.add(c); + + // Inbuilt method to randomly shuffle a elements of a list + Collections.shuffle(letters); + String password = ""; + + // Note that size of the password is also random + for(int i = random.nextInt(max_length-min_length) + min_length; i>0; --i) { + password += letters.get(random.nextInt(letters.size())); + } + + return password; + } +} diff --git a/data_structures/Stacks/BalancedBrackets.java b/data_structures/Stacks/BalancedBrackets.java new file mode 100644 index 000000000000..d0e9ef9c540c --- /dev/null +++ b/data_structures/Stacks/BalancedBrackets.java @@ -0,0 +1,59 @@ +/* + +The nested brackets problem is a problem that determines if a sequence of +brackets are properly nested. A sequence of brackets s is considered properly nested +if any of the following conditions are true: + - s is empty + - s has the form (U) or [U] or {U} where U is a properly nested string + - s has the form VW where V and W are properly nested strings +For example, the string "()()[()]" is properly nested but "[(()]" is not. +The function called is_balanced takes as input a string S which is a sequence of brackets and +returns true if S is nested and false otherwise. + + author: akshay sharma + date: 2017-10-17 +*/ +import java.util.Scanner; +import java.util.Stack; +import java.util.ArrayList; + +class BalancedBrackets { + + static boolean is_balanced(char[] S) { + Stack stack = new Stack<>(); + String pair = ""; + for (int i = 0; i < S.length; ++i) { + if (S[i] == '(' || S[i] == '{' || S[i] == '[') { + stack.push(S[i]); + } else if (stack.size() > 0) { + if (!pair.equals("[]") && !pair.equals("()") && !pair.equals("{}")) { + return false; + } + } else { + return false; + } + } + + return stack.isEmpty(); + } + + static void print(Object a) { + System.out.println(a); + } + + public static void main(String args[]) { + try { + Scanner in = new Scanner(System.in); + print("Enter sequence of brackets: "); + String S = in.nextLine(); + if (is_balanced(S.toCharArray())) { + print(S + " is balanced"); + } else { + print(S + " ain't balanced"); + } + in.close(); + } catch (Exception e) { + e.toString(); + } + } +}