diff --git a/ANAGRAM/Main.java b/ANAGRAM/Main.java new file mode 100644 index 0000000..a142f50 --- /dev/null +++ b/ANAGRAM/Main.java @@ -0,0 +1,39 @@ +// code for anagrams in java // +package strings; + +public class Anagrams { + + public static void main(String[] args) { + boolean isAnagram = true; + String a = "aab"; + String b = "abc"; + + int al [] = new int [256]; + int bl [] = new int [256]; + for(char c : a.toCharArray()) { + int index = (int) c; + al[index]++; + + } + + for(char c : b.toCharArray()) { + int index = (int) c; + bl[index]++; + + } + for(int i=0 ; i<256 ; i++) { + if(al[i] == bl[i]) { + isAnagram = true; + break; + } + } + if(isAnagram) { + System.out.println("Anagram"); + }else{ + System.out.println("Not Anagram"); + } + + + } + +} diff --git a/Array Deque/Main.java b/Array Deque/Main.java new file mode 100644 index 0000000..aa4b1ba --- /dev/null +++ b/Array Deque/Main.java @@ -0,0 +1,69 @@ +// using array deque in java // + +package deque; + +import java.util.ArrayDeque; + +public class MainClass { + + public static void main(String[] args) { + + + ArrayDeque ad = new ArrayDeque<>(); + + ad.push(12); + ad.push(23); + ad.push(34); + System.out.println(ad.pop()); + System.out.println(ad.pop()); + + } + +} + +// implementation of array deque in java // + +package deque; + +public class MyDeque { + + Node head,tail; + + public void addToHead(E data) { + Node toAdd = new Node <>(data); + if(head==null) { + head = tail = toAdd; + return; + } + head.next = toAdd; + toAdd.prev = head; + head = toAdd; + } + + + public E removeLast() { + if(head == null) { + return null; + } + + Node toRemove = tail; + tail = tail.next; + tail.prev = null ; + if(tail == null) { + head = null; + } + return toRemove.data; + + } + public static class Node{ + E data; + Node next, prev; + public Node(E Data) { + this.data = data; + this.next = this.prev = null; + } + } + + + +}