Posts

Showing posts from April, 2018

The WeakReference class, monitoring memory leak and garbage collection in a Java application

Image
 Below is a Stack implementation that uses an internal resizeable array structure.  public class MyStack< T > implements Stack< T > { private static final int CAPACITY = 100 ; private Object[] array ; private int pos = 0 ; public MyStack () { this . array = new Object[ CAPACITY ] ; } @Override public void push ( T item) { if ( pos >= array . length / 2 ) { Object[] newArray = new Object[ pos * 2 ] ; System. arraycopy ( array , 0 , newArray , 0 , array . length ) ; array = newArray ; } array [ pos ++] = item ; } @Override public T pop () { if (isEmpty()) { throw new RuntimeException( "empty stack" ) ; } @SuppressWarnings ( "unchecked" ) T item = ( T ) array [ pos - 1 ] ; pos -= 1 ; return item ; } @Override @SuppressWarnings ( "unchecked" ) public T peek...

My Crappy Looking Solution to "Binary Tree Common Ancestor" Problem

I was able to solve this problem and make all the tests pass: https://www.hackerrank.com/challenges/binary-search-tree-lowest-common-ancestor/problem But I'm not happy with the code, so later I need to refactor the code. Here it is: static Node lca(Node root, int v1, int v2) { ArrayList result = new ArrayList<>(); Node result2 = traverse (root, v1, v2, result); if (result.isEmpty()) return result2; return result.get( 0 ); } private static Node traverse(Node root, int v1, int v2, ArrayList result) { if (!result.isEmpty()) { return result.get( 0 ); } if (root. left == null && root. right == null ) { return root; } if (root. data == v1 || root. data == v2) { return root; } Node node1 = null , node2 = null ; if (root. left != null ) node1 = traverse (root. left , v1, v2, result); if (root. right != null ) node2 = traverse (root. right , v1, v...

Popular posts from this blog

Trie Data Structure and Finding Patterns in a Collection of Words

My Crappy Looking Solution to "Binary Tree Common Ancestor" Problem

A Graph Application in Java: Using WordNet to Find Outcast Words