diff --git a/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java b/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java index 8b1a07a265..78b5fe7ff3 100644 --- a/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java +++ b/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java @@ -4,15 +4,20 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; +import java.util.LinkedList; import java.util.List; import java.util.TreeSet; import java.util.regex.Matcher; import java.util.regex.Pattern; +import javax.management.ListenerNotFoundException; + import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.ossez.lang.tutorial.models.ListNode; + /** * * @author YuCheng @@ -22,6 +27,62 @@ public class LintcodeTest { private final static Logger logger = LoggerFactory.getLogger(LintcodeTest.class); + /** + * 35 https://www.lintcode.com/problem/reverse-linked-list/description + */ + @Test + public void test0035Reverse() { + // INIT LINKED LIST + ListNode head = new ListNode(1); + head.next = new ListNode(2); + head.next.next = new ListNode(3); + + // CHECK BEFORE + System.out.println(head.val); + System.out.println(head.next.val); + System.out.println(head.next.next.val); + + // REVERSE + ListNode prev = null; + while (head != null) { + ListNode temp = head.next; + head.next = prev; + prev = head; + head = temp; + } + + // CHECK AFTER + System.out.println(prev.val); + System.out.println(prev.next.val); + System.out.println(prev.next.next.val); + } + + /** + * 1480 https://www.lintcode.com/problem/dot-product/description + */ + @Test + public void test0044minSubArray() { + + List nums = new ArrayList(); + nums.add(1); + nums.add(1); + + int min_ending_here = 0; + int retStatus = 0; + + for (int i = 0; i < nums.size(); i++) { + if (min_ending_here > 0) { + min_ending_here = nums.get(i); + } else { + min_ending_here += nums.get(i); + } + retStatus = Math.min(retStatus, min_ending_here); + } + + System.out.println(retStatus); + + } + /** * 53 https://www.lintcode.com/problem/reverse-words-in-a-string/description */ @@ -94,6 +155,36 @@ public class LintcodeTest { System.out.println("" + retStatus); } + /** + * 411 + * + *

+ *

+ *

+ * + */ + @Test + public void test0411GrayCode() { + int n = 2; + + List retArray = new ArrayList<>(); + + if (n == 0) { + retArray.add(0); + } + + for (int i = 0; i < (2 << (n - 1)); i++) { + int g = i ^ (i / 2); + retArray.add(g); + } + + System.out.println(retArray); + } + /** * 1480 https://www.lintcode.com/problem/dot-product/description */ @@ -222,30 +313,4 @@ public class LintcodeTest { System.out.println(retStatus); } - /** - * 1480 https://www.lintcode.com/problem/dot-product/description - */ - @Test - public void test0044minSubArray() { - - List nums = new ArrayList(); - nums.add(1); - nums.add(1); - - int min_ending_here = 0; - int retStatus = 0; - - for (int i = 0; i < nums.size(); i++) { - if (min_ending_here > 0) { - min_ending_here = nums.get(i); - } else { - min_ending_here += nums.get(i); - } - retStatus = Math.min(retStatus, min_ending_here); - } - - System.out.println(retStatus); - - } - }