From aeafc6f848966f299171fa4942e8a22a4e743e17 Mon Sep 17 00:00:00 2001 From: YuCheng Hu Date: Sun, 25 Apr 2021 17:04:09 -0400 Subject: [PATCH 1/3] =?UTF-8?q?Java=20=E7=B1=BB=E5=92=8C=E5=AF=B9=E8=B1=A1?= =?UTF-8?q?=E5=B9=B6=E4=B8=94=E6=9B=B4=E6=96=B0=20Log4j2=20=E7=9A=84?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 9 ++- .../codebank/tests/DataStructureTest.java | 64 +++++++++++++++++++ .../codebank/src/test/resources/log4j2.xml | 7 +- 3 files changed, 75 insertions(+), 5 deletions(-) create mode 100644 toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/DataStructureTest.java diff --git a/pom.xml b/pom.xml index c6016e6238..e088c054bc 100644 --- a/pom.xml +++ b/pom.xml @@ -38,6 +38,10 @@ + + toolkits + + 11 @@ -75,8 +79,8 @@ org.apache.logging.log4j - log4j-slf4j-impl - 2.11.0 + log4j-slf4j18-impl + 2.14.0 @@ -305,6 +309,7 @@ + ossrh diff --git a/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/DataStructureTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/DataStructureTest.java new file mode 100644 index 0000000000..317b878e4b --- /dev/null +++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/DataStructureTest.java @@ -0,0 +1,64 @@ +package com.ossez.toolkits.codebank.tests; + +import junit.framework.TestCase; +import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.TestInstance; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Object of VariableOssez + * + * @author YuCheng + * + */ + +class OssezVariable { + int s1, s2; + static int s3; + + OssezVariable(int x, int y, int z) { + s1 = x; + s2 = y; + s3 = z; + } +} + +/** + * @author YuCheng Hu + */ +@TestInstance(TestInstance.Lifecycle.PER_CLASS) +public class DataStructureTest{ + + private final static Logger logger = LoggerFactory.getLogger(DataStructureTest.class); + + + @BeforeAll + protected void setUp() throws Exception { + } + + @AfterAll + protected void tearDown() throws Exception { + } + + + /** + * Do RetsServerConnection Test + */ + @Test + public void testArrayDataStructure() { + + int[] intArraySize = new int[3]; + Integer intArrayW[] = new Integer[3]; + logger.debug("Array Size - [{}]", intArraySize.length); + logger.debug("Array Size - [{}]", intArrayW.length); + + int[] intArrayValue = {1,2,3}; + String[] strArray = {"COM","OSSEZ","US"}; + logger.debug("Array Size - [{}]", intArrayValue.length); + + } + +} diff --git a/toolkits/codebank/src/test/resources/log4j2.xml b/toolkits/codebank/src/test/resources/log4j2.xml index f87d408794..a6b365831f 100644 --- a/toolkits/codebank/src/test/resources/log4j2.xml +++ b/toolkits/codebank/src/test/resources/log4j2.xml @@ -7,10 +7,11 @@ - + - - + + + \ No newline at end of file From 8ff8f39e4e63511d0a14c21f2c15a80318b69c3e Mon Sep 17 00:00:00 2001 From: YuCheng Hu Date: Mon, 26 Apr 2021 00:04:01 -0400 Subject: [PATCH 2/3] update the source from root pom and compile project --- .idea/compiler.xml | 5 + .idea/encodings.xml | 2 + .idea/misc.xml | 5 + .idea/modules.xml | 3 + .idea/workspace.xml | 122 ++++++++----- .../codebank/algorithm/models/ListNode.java | 16 -- .../codebank/algorithm/models/TreeNode.java | 16 -- .../tests/codility/CodilityBinaryGapTest.java | 56 ------ ...ntCode0007SerializeAndDeserializeTest.java | 131 -------------- .../lintcode/LintCode0069LevelOrderTest.java | 124 ------------- .../lintcode/LintCode0102HasCycleTest.java | 63 ------- .../LintCode0165MergeTwoListsTest.java | 89 --------- .../LintCode0425LetterCombinationsTest.java | 78 -------- .../lintcode/LintCode0433NumIslandsTest.java | 94 ---------- .../lintcode/LintCode1480DotProductTest.java | 35 ---- toolkits/.idea/compiler.xml | 19 -- toolkits/.idea/encodings.xml | 7 - toolkits/.idea/jarRepositories.xml | 20 -- toolkits/.idea/vcs.xml | 6 - .../common}/interview/KayakCountUpDown.java | 2 +- .../common}/interview/KayakRobotMovement.java | 2 +- .../interview/ManNextFibonacciNumber.java | 2 +- .../codebank/common/usecase}/VarargsCase.java | 0 .../codebank/common}/utils/TreeUtils.java | 112 ++++++------ .../codebank}/tests/BitOperationTest.java | 72 ++++---- .../codebank}/tests/LintcodeTest.java | 8 +- .../codebank}/tests/SingletonTest.java | 138 +++++++------- .../toolkits/codebank}/tests/TreeTest.java | 171 +++++++++--------- .../toolkits/codebank/tests/VariableTest.java | 3 +- .../codebank/tests/interview}/AmazonTest.java | 3 +- .../codebank/tests/interview}/KayakTest.java | 129 ++++++------- .../tests/interview}/LambdaEvensTest.java | 2 +- .../codebank/tests/interview}/MassMutual.java | 2 +- .../tests/interview}/MinimumCoinsTest.java | 5 +- .../tests/interview}/PillPackTest.java | 166 ++++++++--------- .../codebank/tests/interview}/TennaTest.java | 2 +- .../tests/interview}/WayfairTest.java | 2 +- toolkits/discourse/pom.xml | 8 + 38 files changed, 506 insertions(+), 1214 deletions(-) delete mode 100644 src/main/java/com/ossez/codebank/algorithm/models/ListNode.java delete mode 100644 src/main/java/com/ossez/codebank/algorithm/models/TreeNode.java delete mode 100644 src/test/java/com/ossez/codebank/algorithm/tests/codility/CodilityBinaryGapTest.java delete mode 100644 src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0007SerializeAndDeserializeTest.java delete mode 100644 src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0069LevelOrderTest.java delete mode 100644 src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0102HasCycleTest.java delete mode 100644 src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0165MergeTwoListsTest.java delete mode 100644 src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0425LetterCombinationsTest.java delete mode 100644 src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0433NumIslandsTest.java delete mode 100644 src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode1480DotProductTest.java delete mode 100644 toolkits/.idea/compiler.xml delete mode 100644 toolkits/.idea/encodings.xml delete mode 100644 toolkits/.idea/jarRepositories.xml delete mode 100644 toolkits/.idea/vcs.xml rename {src/main/java/com/ossez/codebank => toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common}/interview/KayakCountUpDown.java (95%) rename {src/main/java/com/ossez/codebank => toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common}/interview/KayakRobotMovement.java (93%) rename {src/main/java/com/ossez/codebank => toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common}/interview/ManNextFibonacciNumber.java (96%) rename {src/main/java/com/ossez/codebank/algorithm/usecases => toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/usecase}/VarargsCase.java (100%) rename {src/main/java/com/ossez/codebank/algorithml => toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common}/utils/TreeUtils.java (85%) rename {src/test/java/com/ossez/codebank/algorithm => toolkits/codebank/src/test/java/com/ossez/toolkits/codebank}/tests/BitOperationTest.java (90%) rename {src/test/java/com/ossez/codebank/algorithm => toolkits/codebank/src/test/java/com/ossez/toolkits/codebank}/tests/LintcodeTest.java (96%) rename {src/test/java/com/ossez/codebank/algorithm => toolkits/codebank/src/test/java/com/ossez/toolkits/codebank}/tests/SingletonTest.java (91%) rename {src/test/java/com/ossez/codebank/algorithm => toolkits/codebank/src/test/java/com/ossez/toolkits/codebank}/tests/TreeTest.java (86%) rename {src/test/java/com/ossez/codebank/interview/tests => toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview}/AmazonTest.java (98%) rename {src/test/java/com/ossez/codebank/interview/tests => toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview}/KayakTest.java (78%) rename {src/test/java/com/ossez/codebank/interview/tests/others => toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview}/LambdaEvensTest.java (94%) rename {src/test/java/com/ossez/codebank/interview/tests => toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview}/MassMutual.java (98%) rename {src/test/java/com/ossez/codebank/interview/tests/others => toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview}/MinimumCoinsTest.java (89%) rename {src/test/java/com/ossez/codebank/interview/tests => toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview}/PillPackTest.java (94%) rename {src/test/java/com/ossez/codebank/interview/tests => toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview}/TennaTest.java (94%) rename {src/test/java/com/ossez/codebank/interview/tests => toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview}/WayfairTest.java (97%) diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 1fb598ef96..180534cff0 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -6,16 +6,21 @@ + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml index aa00ffab78..0cd0cea4ac 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -3,5 +3,7 @@ + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 4ec2a1b534..740639b35c 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -6,6 +6,11 @@ + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 45473da3cf..2da9b0836e 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,13 +2,16 @@ + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index bb5b1dd06d..8996c0a2c9 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -4,52 +4,41 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + @@ -137,6 +164,7 @@ + 1618147556538 diff --git a/src/main/java/com/ossez/codebank/algorithm/models/ListNode.java b/src/main/java/com/ossez/codebank/algorithm/models/ListNode.java deleted file mode 100644 index 81a4985eae..0000000000 --- a/src/main/java/com/ossez/codebank/algorithm/models/ListNode.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.ossez.codebank.algorithm.models; - -/** - * - * @author YuCheng - * - */ -public class ListNode { - public int val; - public ListNode next; - - public ListNode(int x) { - val = x; - next = null; - } -} diff --git a/src/main/java/com/ossez/codebank/algorithm/models/TreeNode.java b/src/main/java/com/ossez/codebank/algorithm/models/TreeNode.java deleted file mode 100644 index d879b60b16..0000000000 --- a/src/main/java/com/ossez/codebank/algorithm/models/TreeNode.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.ossez.codebank.algorithm.models; - -/** - * - * @author YuCheng - * - */ -public class TreeNode { - public int val; - public TreeNode left, right; - - public TreeNode(int val) { - this.val = val; - this.left = this.right = null; - } -} diff --git a/src/test/java/com/ossez/codebank/algorithm/tests/codility/CodilityBinaryGapTest.java b/src/test/java/com/ossez/codebank/algorithm/tests/codility/CodilityBinaryGapTest.java deleted file mode 100644 index 88c4405f13..0000000000 --- a/src/test/java/com/ossez/codebank/algorithm/tests/codility/CodilityBinaryGapTest.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.ossez.codebank.algorithm.tests.codility; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - *

- * More details about question see link below - *

- *

- * - * @author YuCheng - * - */ -public class CodilityBinaryGapTest { - - private final static Logger logger = LoggerFactory.getLogger(CodilityBinaryGapTest.class); - - /** - * - */ - @Test - public void testMain() { - logger.debug("BEGIN"); - - int N = 529; - String intStr = Integer.toBinaryString(N); - - intStr = intStr.replace("1", "#1#"); - - String[] strArray = intStr.split("1"); - - int maxCount = 0; - for (int i = 0; i < strArray.length; i++) { - String checkStr = strArray[i]; - int countLength = 0; - - if (checkStr.length() > 2 && checkStr.startsWith("#") && checkStr.endsWith("#")) { - checkStr = checkStr.replace("#", ""); - countLength = checkStr.length(); - - if (maxCount < countLength) { - maxCount = countLength; - } - - } - } - - logger.debug("MAX COUNT: [{}]", maxCount); - } - -} diff --git a/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0007SerializeAndDeserializeTest.java b/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0007SerializeAndDeserializeTest.java deleted file mode 100644 index d1c3438ff8..0000000000 --- a/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0007SerializeAndDeserializeTest.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.ossez.codebank.algorithm.tests.lintcode; - -import java.util.ArrayList; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.ossez.codebank.algorithm.models.TreeNode; - -/** - *

- * 7 - *

- *

- * - * @author YuCheng - * - */ -public class LintCode0007SerializeAndDeserializeTest { - - private final static Logger logger = LoggerFactory.getLogger(LintCode0007SerializeAndDeserializeTest.class); - - /** - * - */ - @Test - public void testMain() { - logger.debug("BEGIN"); - String data = "{3,9,20,#,#,15,7}"; - - System.out.println(serialize(deserialize(data))); - - } - - /** - * Deserialize from array to tree - * - * @param data - * @return - */ - private TreeNode deserialize(String data) { - // NULL CHECK - if (data.equals("{}")) { - return null; - } - - ArrayList treeList = new ArrayList(); - - data = data.replace("{", ""); - data = data.replace("}", ""); - String[] vals = data.split(","); - - // INSERT ROOT - TreeNode root = new TreeNode(Integer.parseInt(vals[0])); - treeList.add(root); - - int index = 0; - boolean isLeftChild = true; - for (int i = 1; i < vals.length; i++) { - if (!vals[i].equals("#")) { - TreeNode node = new TreeNode(Integer.parseInt(vals[i])); - if (isLeftChild) { - treeList.get(index).left = node; - } else { - treeList.get(index).right = node; - } - treeList.add(node); - } - - // LEVEL - if (!isLeftChild) { - index++; - } - - // MOVE TO RIGHT OR NEXT LEVEL - isLeftChild = !isLeftChild; - } - - return root; - - } - - /** - * - * @param root - * @return - */ - public String serialize(TreeNode root) { - // write your code here - if (root == null) { - return "{}"; - } - - ArrayList queue = new ArrayList(); - queue.add(root); - - for (int i = 0; i < queue.size(); i++) { - TreeNode node = queue.get(i); - if (node == null) { - continue; - } - queue.add(node.left); - queue.add(node.right); - } - - while (queue.get(queue.size() - 1) == null) { - queue.remove(queue.size() - 1); - } - - StringBuilder sb = new StringBuilder(); - sb.append("{"); - sb.append(queue.get(0).val); - for (int i = 1; i < queue.size(); i++) { - if (queue.get(i) == null) { - sb.append(",#"); - } else { - sb.append(","); - sb.append(queue.get(i).val); - } - } - sb.append("}"); - return sb.toString(); - } - -} diff --git a/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0069LevelOrderTest.java b/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0069LevelOrderTest.java deleted file mode 100644 index 75633c8b25..0000000000 --- a/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0069LevelOrderTest.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.ossez.codebank.algorithm.tests.lintcode; - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import java.util.Queue; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.ossez.codebank.algorithm.models.TreeNode; - -/** - *

- * 69 - *

- *

- * - * @author YuCheng - * - */ -public class LintCode0069LevelOrderTest { - - private final static Logger logger = LoggerFactory.getLogger(LintCode0069LevelOrderTest.class); - - /** - * - */ - @Test - public void testMain() { - logger.debug("BEGIN"); - String data = "{3,9,20,#,#,15,7}"; - - TreeNode tn = deserialize(data); - System.out.println(levelOrder(tn)); - - } - - /** - * Deserialize from array to tree - * - * @param data - * @return - */ - private TreeNode deserialize(String data) { - // NULL CHECK - if (data.equals("{}")) { - return null; - } - - ArrayList treeList = new ArrayList(); - - data = data.replace("{", ""); - data = data.replace("}", ""); - String[] vals = data.split(","); - - // INSERT ROOT - TreeNode root = new TreeNode(Integer.parseInt(vals[0])); - treeList.add(root); - - int index = 0; - boolean isLeftChild = true; - for (int i = 1; i < vals.length; i++) { - if (!vals[i].equals("#")) { - TreeNode node = new TreeNode(Integer.parseInt(vals[i])); - if (isLeftChild) { - treeList.get(index).left = node; - } else { - treeList.get(index).right = node; - } - treeList.add(node); - } - - // LEVEL - if (!isLeftChild) { - index++; - } - - // MOVE TO RIGHT OR NEXT LEVEL - isLeftChild = !isLeftChild; - } - - return root; - - } - - private List> levelOrder(TreeNode root) { - Queue queue = new LinkedList(); - List> rs = new ArrayList>(); - - // NULL CHECK - if (root == null) { - return rs; - } - - queue.offer(root); - - while (!queue.isEmpty()) { - int length = queue.size(); - List list = new ArrayList(); - - for (int i = 0; i < length; i++) { - TreeNode curTN = queue.poll(); - list.add(curTN.val); - if (curTN.left != null) { - queue.offer(curTN.left); - } - if (curTN.right != null) { - queue.offer(curTN.right); - } - } - - rs.add(list); - } - - return rs; - } -} diff --git a/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0102HasCycleTest.java b/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0102HasCycleTest.java deleted file mode 100644 index 8e63d7cdd2..0000000000 --- a/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0102HasCycleTest.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.ossez.codebank.algorithm.tests.lintcode; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.ossez.codebank.algorithm.models.ListNode; - -/** - *

- * 102 - *

- *

- * - * @author YuCheng - * - */ -public class LintCode0102HasCycleTest { - - private final static Logger logger = LoggerFactory.getLogger(LintCode0102HasCycleTest.class); - - /** - * - */ - @Test - public void testMain() { - logger.debug("BEGIN"); - // INIT LINKED LIST - ListNode head = new ListNode(1); - head.next = new ListNode(2); - head.next.next = new ListNode(3); - head.next.next.next = new ListNode(4); - - // CREATE A LOOP - head.next.next.next.next = head.next.next.next; - - boolean retResult = false; - - // LIKED LIST MAY NULL: - if (!(head == null || head.next == null)) { - ListNode s = head; - ListNode f = head.next; - - while (f.next != null && f.next.next != null) { - - s = s.next; - f = f.next.next; - - if (f == s) { - retResult = true; - break; - } - } - } - - System.out.println(retResult); - - } -} diff --git a/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0165MergeTwoListsTest.java b/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0165MergeTwoListsTest.java deleted file mode 100644 index 15d4fa17e4..0000000000 --- a/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0165MergeTwoListsTest.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.ossez.codebank.algorithm.tests.lintcode; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.ossez.codebank.algorithm.models.ListNode; - -/** - *

- * 102 - *

- *

- * - * @author YuCheng - * - */ -public class LintCode0165MergeTwoListsTest { - - private final static Logger logger = LoggerFactory.getLogger(LintCode0165MergeTwoListsTest.class); - - /** - * - */ - @Test - public void testMain() { - logger.debug("BEGIN"); - // INIT LINKED LIST l1 - ListNode l1 = new ListNode(1); - l1.next = new ListNode(3); - l1.next.next = new ListNode(8); - l1.next.next.next = new ListNode(11); - l1.next.next.next.next = new ListNode(15); - - // INIT LINKED LIST l2 - ListNode l2 = new ListNode(2); - - // RETURN RESULT - ListNode retResult = new ListNode(0); - - // NULL CHECK - // if (l1 == null && l2 == null) { - // retResult = null; - // } - // - // if (l1 == null) { - // retResult = l2; - // } - // - // if (l2 == null) { - // retResult = l1; - // } - - // MERGE - retResult = new ListNode(0); - ListNode tmpNode = new ListNode(0); - retResult = tmpNode; - while (l1 != null & l2 != null) { - if (l1.val <= l2.val) { - tmpNode.next = l1; - l1 = l1.next; - } else { - tmpNode.next = l2; - l2 = l2.next; - } - - tmpNode = tmpNode.next; - } - - if (l1 == null) { - tmpNode.next = l2; - } - - if (l2 == null) { - tmpNode.next = l1; - } - - retResult = retResult.next; - - System.out.println(retResult.val); - System.out.println(retResult.next.val); - System.out.println(retResult.next.next.val); - - } -} diff --git a/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0425LetterCombinationsTest.java b/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0425LetterCombinationsTest.java deleted file mode 100644 index 328f7a3367..0000000000 --- a/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0425LetterCombinationsTest.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.ossez.codebank.algorithm.tests.lintcode; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - *

- * 425 - *

- *

- * - * @author YuCheng - * - */ -public class LintCode0425LetterCombinationsTest { - - private final static Logger logger = LoggerFactory.getLogger(LintCode0425LetterCombinationsTest.class); - - /** - * - */ - @Test - public void testMain() { - logger.debug("LetterCombinationsTest"); - String digits = "23"; - - HashMap phoneKeyMap = new HashMap(); - phoneKeyMap.put("0", ""); - phoneKeyMap.put("1", ""); - phoneKeyMap.put("2", "abc"); - phoneKeyMap.put("3", "def"); - phoneKeyMap.put("4", "ghi"); - phoneKeyMap.put("5", "jkl"); - phoneKeyMap.put("6", "mno"); - phoneKeyMap.put("7", "pqrs"); - phoneKeyMap.put("8", "tuv"); - phoneKeyMap.put("9", "wxyz"); - - List retStatus = new ArrayList<>(); - - if (digits != null && digits.length() != 0) { - phoneRecursive(digits, retStatus, phoneKeyMap, "", 0); - } - - System.out.println(retStatus); - } - - /** - * phoneRecursive - * - * @param digits - * @param retStatus - * @param phoneKeyMap - * @param comb - * @param index - */ - private void phoneRecursive(String digits, List retStatus, HashMap phoneKeyMap, String comb, int index) { - if (index == digits.length()) { - retStatus.add(comb); - return; - } - - char pos = digits.charAt(index); - for (char c : ((String) phoneKeyMap.get(String.valueOf(pos))).toCharArray()) { - phoneRecursive(digits, retStatus, phoneKeyMap, comb + c, index + 1); - } - } -} diff --git a/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0433NumIslandsTest.java b/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0433NumIslandsTest.java deleted file mode 100644 index 0e8d5cd08c..0000000000 --- a/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode0433NumIslandsTest.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.ossez.codebank.algorithm.tests.lintcode; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - *

- * 433 - *

- *

- * - * @author YuCheng - * - */ -public class LintCode0433NumIslandsTest { - - private final static Logger logger = LoggerFactory.getLogger(LintCode0433NumIslandsTest.class); - - /** - * - */ - @Test - public void testMain() { - logger.debug("BEGIN"); - // INIT GRID - boolean[][] grid = { { true, true, false, false, false }, { false, true, false, false, true }, { false, false, false, true, true }, - { false, false, false, false, false }, { false, false, false, false, true } - - }; - - // NULL CHECK - if (grid.length == 0 || grid[0].length == 0) { - System.out.println("NULL"); - // return 0; - } - - // GET SIZE - int n = grid.length; - int m = grid[0].length; - - // ARRAY FOR VISITED LOG - boolean[][] visited = new boolean[n][m]; - - int count = 0; - - // LOOP FOR GRID - for (int i = 0; i < n; i++) { - for (int j = 0; j < m; j++) { - if (grid[i][j] && !visited[i][j]) { - numIslandsDFS(grid, visited, i, j); - count++; - } - } - } - - System.out.println(count); - - } - - /** - * - * @param grid - * @param visited - * @param x - * @param y - */ - public void numIslandsDFS(boolean[][] grid, boolean[][] visited, int x, int y) { - if (x < 0 || x >= grid.length) { - return; - } - - if (y < 0 || y >= grid[0].length) { - return; - } - - if (grid[x][y] != true || visited[x][y]) { - return; - } - - visited[x][y] = true; - - // Recursive call - numIslandsDFS(grid, visited, x - 1, y); - numIslandsDFS(grid, visited, x + 1, y); - numIslandsDFS(grid, visited, x, y - 1); - numIslandsDFS(grid, visited, x, y + 1); - - } -} diff --git a/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode1480DotProductTest.java b/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode1480DotProductTest.java deleted file mode 100644 index b32db4bf6f..0000000000 --- a/src/test/java/com/ossez/codebank/algorithm/tests/lintcode/LintCode1480DotProductTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.ossez.codebank.algorithm.tests.lintcode; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - *

- * 1480 - *

- *

- * - * @author YuCheng - * - */ -public class LintCode1480DotProductTest { - - private final static Logger logger = LoggerFactory.getLogger(LintCode1480DotProductTest.class); - - /** - * - */ - @Test - public void testMain() { - logger.debug("BEGIN"); - int t = 87; - int[] dur = { 20, 25, 19, 37 }; - // Write your code here - } - -} diff --git a/toolkits/.idea/compiler.xml b/toolkits/.idea/compiler.xml deleted file mode 100644 index 6c6e9b735f..0000000000 --- a/toolkits/.idea/compiler.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/toolkits/.idea/encodings.xml b/toolkits/.idea/encodings.xml deleted file mode 100644 index a0529939e8..0000000000 --- a/toolkits/.idea/encodings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/toolkits/.idea/jarRepositories.xml b/toolkits/.idea/jarRepositories.xml deleted file mode 100644 index 712ab9d985..0000000000 --- a/toolkits/.idea/jarRepositories.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/toolkits/.idea/vcs.xml b/toolkits/.idea/vcs.xml deleted file mode 100644 index 6c0b863585..0000000000 --- a/toolkits/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/main/java/com/ossez/codebank/interview/KayakCountUpDown.java b/toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/interview/KayakCountUpDown.java similarity index 95% rename from src/main/java/com/ossez/codebank/interview/KayakCountUpDown.java rename to toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/interview/KayakCountUpDown.java index fa272b22a1..9c4eeda688 100644 --- a/src/main/java/com/ossez/codebank/interview/KayakCountUpDown.java +++ b/toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/interview/KayakCountUpDown.java @@ -1,4 +1,4 @@ -package com.ossez.codebank.interview; +package com.ossez.toolkits.codebank.common.interview; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/ossez/codebank/interview/KayakRobotMovement.java b/toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/interview/KayakRobotMovement.java similarity index 93% rename from src/main/java/com/ossez/codebank/interview/KayakRobotMovement.java rename to toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/interview/KayakRobotMovement.java index 22cb653292..cb5b9537c8 100644 --- a/src/main/java/com/ossez/codebank/interview/KayakRobotMovement.java +++ b/toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/interview/KayakRobotMovement.java @@ -1,4 +1,4 @@ -package com.ossez.codebank.interview; +package com.ossez.toolkits.codebank.common.interview; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/com/ossez/codebank/interview/ManNextFibonacciNumber.java b/toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/interview/ManNextFibonacciNumber.java similarity index 96% rename from src/main/java/com/ossez/codebank/interview/ManNextFibonacciNumber.java rename to toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/interview/ManNextFibonacciNumber.java index d98b2da869..6b0c17ef50 100644 --- a/src/main/java/com/ossez/codebank/interview/ManNextFibonacciNumber.java +++ b/toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/interview/ManNextFibonacciNumber.java @@ -1,4 +1,4 @@ -package com.ossez.codebank.interview; +package com.ossez.toolkits.codebank.common.interview; import java.io.BufferedReader; import java.io.InputStreamReader; diff --git a/src/main/java/com/ossez/codebank/algorithm/usecases/VarargsCase.java b/toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/usecase/VarargsCase.java similarity index 100% rename from src/main/java/com/ossez/codebank/algorithm/usecases/VarargsCase.java rename to toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/usecase/VarargsCase.java diff --git a/src/main/java/com/ossez/codebank/algorithml/utils/TreeUtils.java b/toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/utils/TreeUtils.java similarity index 85% rename from src/main/java/com/ossez/codebank/algorithml/utils/TreeUtils.java rename to toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/utils/TreeUtils.java index aafa847383..09d8ada76a 100644 --- a/src/main/java/com/ossez/codebank/algorithml/utils/TreeUtils.java +++ b/toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/utils/TreeUtils.java @@ -1,55 +1,57 @@ -package com.ossez.codebank.algorithml.utils; - -import java.util.ArrayList; - -import com.ossez.codebank.algorithm.models.TreeNode; - -/** - * - * @author YuCheng - * - */ -public class TreeUtils { - - public static TreeNode initTree(String data) { - // NULL CHECK - if (data.equals("{}")) { - return null; - } - - ArrayList treeList = new ArrayList(); - - data = data.replace("{", ""); - data = data.replace("}", ""); - String[] vals = data.split(","); - - // INSERT ROOT - TreeNode root = new TreeNode(Integer.parseInt(vals[0])); - treeList.add(root); - - int index = 0; - boolean isLeftChild = true; - for (int i = 1; i < vals.length; i++) { - if (!vals[i].equals("#")) { - TreeNode node = new TreeNode(Integer.parseInt(vals[i])); - if (isLeftChild) { - treeList.get(index).left = node; - } else { - treeList.get(index).right = node; - } - treeList.add(node); - } - - // LEVEL - if (!isLeftChild) { - index++; - } - - // MOVE TO RIGHT OR NEXT LEVEL - isLeftChild = !isLeftChild; - } - - return root; - - } -} +package com.ossez.toolkits.codebank.common.utils; + +import com.ossez.toolkits.codebank.common.model.TreeNode; + +import java.util.ArrayList; + + + +/** + * + * @author YuCheng + * + */ +public class TreeUtils { + + public static TreeNode initTree(String data) { + // NULL CHECK + if (data.equals("{}")) { + return null; + } + + ArrayList treeList = new ArrayList(); + + data = data.replace("{", ""); + data = data.replace("}", ""); + String[] vals = data.split(","); + + // INSERT ROOT + TreeNode root = new TreeNode(Integer.parseInt(vals[0])); + treeList.add(root); + + int index = 0; + boolean isLeftChild = true; + for (int i = 1; i < vals.length; i++) { + if (!vals[i].equals("#")) { + TreeNode node = new TreeNode(Integer.parseInt(vals[i])); + if (isLeftChild) { + treeList.get(index).left = node; + } else { + treeList.get(index).right = node; + } + treeList.add(node); + } + + // LEVEL + if (!isLeftChild) { + index++; + } + + // MOVE TO RIGHT OR NEXT LEVEL + isLeftChild = !isLeftChild; + } + + return root; + + } +} diff --git a/src/test/java/com/ossez/codebank/algorithm/tests/BitOperationTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/BitOperationTest.java similarity index 90% rename from src/test/java/com/ossez/codebank/algorithm/tests/BitOperationTest.java rename to toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/BitOperationTest.java index 257c6a3a68..fc432903f3 100644 --- a/src/test/java/com/ossez/codebank/algorithm/tests/BitOperationTest.java +++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/BitOperationTest.java @@ -1,36 +1,36 @@ -package com.ossez.codebank.algorithm.tests; - -import org.apache.commons.math3.util.FastMath; -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * - * @author YuCheng - * - */ -public class BitOperationTest { - - private final static Logger logger = LoggerFactory.getLogger(BitOperationTest.class); - - /** - * 35 https://www.lintcode.com/problem/reverse-linked-list/description - */ - @Test - public void testInt2Bit() { - logger.debug("BEGIN"); - System.out.println(Integer.toBinaryString(5)); - System.out.println(Integer.toBinaryString(2)); - - System.out.println(Integer.toBinaryString(2 << 2)); - - System.out.println(Integer.parseInt(Integer.toBinaryString(2 << 2), 2)); - - System.out.println(5 / 3); - System.out.println(5 % 3); - FastMath.pow(2, 3); - - } - -} +package com.ossez.toolkits.codebank.tests; + +import org.apache.commons.math3.util.FastMath; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * + * @author YuCheng + * + */ +public class BitOperationTest { + + private final static Logger logger = LoggerFactory.getLogger(BitOperationTest.class); + + /** + * 35 https://www.lintcode.com/problem/reverse-linked-list/description + */ + @Test + public void testInt2Bit() { + logger.debug("BEGIN"); + System.out.println(Integer.toBinaryString(5)); + System.out.println(Integer.toBinaryString(2)); + + System.out.println(Integer.toBinaryString(2 << 2)); + + System.out.println(Integer.parseInt(Integer.toBinaryString(2 << 2), 2)); + + System.out.println(5 / 3); + System.out.println(5 % 3); + FastMath.pow(2, 3); + + } + +} diff --git a/src/test/java/com/ossez/codebank/algorithm/tests/LintcodeTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/LintcodeTest.java similarity index 96% rename from src/test/java/com/ossez/codebank/algorithm/tests/LintcodeTest.java rename to toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/LintcodeTest.java index 7cf699092d..082e4b6b62 100644 --- a/src/test/java/com/ossez/codebank/algorithm/tests/LintcodeTest.java +++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/LintcodeTest.java @@ -1,18 +1,12 @@ -package com.ossez.lang.tutorial.tests; +package com.ossez.toolkits.codebank.tests; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; 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; diff --git a/src/test/java/com/ossez/codebank/algorithm/tests/SingletonTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/SingletonTest.java similarity index 91% rename from src/test/java/com/ossez/codebank/algorithm/tests/SingletonTest.java rename to toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/SingletonTest.java index 041a9b840c..9e2b343ddc 100644 --- a/src/test/java/com/ossez/codebank/algorithm/tests/SingletonTest.java +++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/SingletonTest.java @@ -1,69 +1,69 @@ -package com.ossez.codebank.algorithm.tests; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Eager Singleton - * - * @author YuCheng - * - */ -class EagerSingleton { - private static final EagerSingleton INSTANCE = new EagerSingleton(); - - // Private constructor suppresses - private EagerSingleton() { - } - - // default public constructor - public static EagerSingleton getInstance() { - return INSTANCE; - } -} - -/** - * Lazy Singleton - * - * @author YuCheng - * - */ -class LazySingleton { - private static volatile LazySingleton INSTANCE = null; - - // Private constructor suppresses - // default LazySingleton constructor - private LazySingleton() { - } - - // thread safe and performance promote - public static LazySingleton getInstance() { - if (INSTANCE == null) { - synchronized (LazySingleton.class) { - // when more than two threads run into the first null check same time, to avoid instanced more than one time, it needs to be - // checked again. - if (INSTANCE == null) { - INSTANCE = new LazySingleton(); - } - } - } - return INSTANCE; - } -} - -/** - * - * @author YuCheng - * - */ -public class SingletonTest { - private final static Logger logger = LoggerFactory.getLogger(SingletonTest.class); - - @Test - public void testSingleton() { - logger.debug("TEST Singleton"); - - } - -} +package com.ossez.toolkits.codebank.tests; + +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Eager Singleton + * + * @author YuCheng + * + */ +class EagerSingleton { + private static final EagerSingleton INSTANCE = new EagerSingleton(); + + // Private constructor suppresses + private EagerSingleton() { + } + + // default public constructor + public static EagerSingleton getInstance() { + return INSTANCE; + } +} + +/** + * Lazy Singleton + * + * @author YuCheng + * + */ +class LazySingleton { + private static volatile LazySingleton INSTANCE = null; + + // Private constructor suppresses + // default LazySingleton constructor + private LazySingleton() { + } + + // thread safe and performance promote + public static LazySingleton getInstance() { + if (INSTANCE == null) { + synchronized (LazySingleton.class) { + // when more than two threads run into the first null check same time, to avoid instanced more than one time, it needs to be + // checked again. + if (INSTANCE == null) { + INSTANCE = new LazySingleton(); + } + } + } + return INSTANCE; + } +} + +/** + * + * @author YuCheng + * + */ +public class SingletonTest { + private final static Logger logger = LoggerFactory.getLogger(SingletonTest.class); + + @Test + public void testSingleton() { + logger.debug("TEST Singleton"); + + } + +} diff --git a/src/test/java/com/ossez/codebank/algorithm/tests/TreeTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/TreeTest.java similarity index 86% rename from src/test/java/com/ossez/codebank/algorithm/tests/TreeTest.java rename to toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/TreeTest.java index 93a489f5bb..691e52c463 100644 --- a/src/test/java/com/ossez/codebank/algorithm/tests/TreeTest.java +++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/TreeTest.java @@ -1,85 +1,86 @@ -package com.ossez.codebank.algorithm.tests; - -import java.util.ArrayList; -import java.util.List; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.ossez.codebank.algorithm.models.TreeNode; -import com.ossez.codebank.algorithml.utils.TreeUtils; - -/** - * - * @author YuCheng - * - */ -public class TreeTest { - private final static Logger logger = LoggerFactory.getLogger(TreeTest.class); - private static List loopList = new ArrayList(); - - @Test - public void testMain() { - logger.debug("TREE TEST"); - String data = "{1,2,3,4,5,#,6,#,#,7,8,#,#}"; - TreeNode treeNode = TreeUtils.initTree(data); - - // PRE - loopList = new ArrayList(); - preOrderTraverselRecursion(treeNode); - System.out.println(loopList); - - // IN - loopList = new ArrayList(); - inOrderTraverselRecursion(treeNode); - System.out.println(loopList); - - // POST - loopList = new ArrayList(); - postOrderTraversalRecursion(treeNode); - System.out.println(loopList); - } - - - - - /** - * - * @param root - */ - public void preOrderTraverselRecursion(TreeNode root) { - if (root != null) { - loopList.add(root.val); - preOrderTraverselRecursion(root.left); - preOrderTraverselRecursion(root.right); - } - } - - /** - * - * @param root - */ - public void inOrderTraverselRecursion(TreeNode root) { - if (root != null) { - inOrderTraverselRecursion(root.left); - loopList.add(root.val); - inOrderTraverselRecursion(root.right); - } - - } - - /** - * - * @param root - */ - public void postOrderTraversalRecursion(TreeNode root) { - if (root != null) { - postOrderTraversalRecursion(root.left); - postOrderTraversalRecursion(root.right); - loopList.add(root.val); - } - - } - -} +package com.ossez.toolkits.codebank.tests; + +import java.util.ArrayList; +import java.util.List; + +import com.ossez.toolkits.codebank.common.model.TreeNode; +import com.ossez.toolkits.codebank.common.utils.TreeUtils; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + + +/** + * + * @author YuCheng + * + */ +public class TreeTest { + private final static Logger logger = LoggerFactory.getLogger(TreeTest.class); + private static List loopList = new ArrayList(); + + @Test + public void testMain() { + logger.debug("TREE TEST"); + String data = "{1,2,3,4,5,#,6,#,#,7,8,#,#}"; + TreeNode treeNode = TreeUtils.initTree(data); + + // PRE + loopList = new ArrayList(); + preOrderTraverselRecursion(treeNode); + System.out.println(loopList); + + // IN + loopList = new ArrayList(); + inOrderTraverselRecursion(treeNode); + System.out.println(loopList); + + // POST + loopList = new ArrayList(); + postOrderTraversalRecursion(treeNode); + System.out.println(loopList); + } + + + + + /** + * + * @param root + */ + public void preOrderTraverselRecursion(TreeNode root) { + if (root != null) { + loopList.add(root.val); + preOrderTraverselRecursion(root.left); + preOrderTraverselRecursion(root.right); + } + } + + /** + * + * @param root + */ + public void inOrderTraverselRecursion(TreeNode root) { + if (root != null) { + inOrderTraverselRecursion(root.left); + loopList.add(root.val); + inOrderTraverselRecursion(root.right); + } + + } + + /** + * + * @param root + */ + public void postOrderTraversalRecursion(TreeNode root) { + if (root != null) { + postOrderTraversalRecursion(root.left); + postOrderTraversalRecursion(root.right); + loopList.add(root.val); + } + + } + +} diff --git a/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/VariableTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/VariableTest.java index f2935594dd..c4aa5d3020 100644 --- a/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/VariableTest.java +++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/VariableTest.java @@ -54,7 +54,8 @@ public class VariableTest extends TestCase { public void testStaticVariableChange() { OssezVariable objA = new OssezVariable(1, 2, 3); - logger.debug("s1/s2/s3 - [{}]/[{}]/[{}]", objA.s1, objA.s2, OssezVariable.s3); + logger.debug("s1/s2/s3 - [{}]", Math.round(10.55)); + OssezVariable objB = new OssezVariable(4, 5, 6); logger.debug("s1/s2/s3 - [{}]/[{}]/[{}]", objA.s1, objA.s2, OssezVariable.s3); diff --git a/src/test/java/com/ossez/codebank/interview/tests/AmazonTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/AmazonTest.java similarity index 98% rename from src/test/java/com/ossez/codebank/interview/tests/AmazonTest.java rename to toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/AmazonTest.java index df2101b3ca..8aacd8f4fe 100644 --- a/src/test/java/com/ossez/codebank/interview/tests/AmazonTest.java +++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/AmazonTest.java @@ -1,6 +1,5 @@ -package com.ossez.codebank.interview.tests; +package com.ossez.toolkits.codebank.tests.interview; -import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; diff --git a/src/test/java/com/ossez/codebank/interview/tests/KayakTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/KayakTest.java similarity index 78% rename from src/test/java/com/ossez/codebank/interview/tests/KayakTest.java rename to toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/KayakTest.java index 19282437d9..e90e1d27c5 100644 --- a/src/test/java/com/ossez/codebank/interview/tests/KayakTest.java +++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/KayakTest.java @@ -1,64 +1,65 @@ -package com.ossez.codebank.interview.tests; - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.ossez.codebank.interview.KayakCountUpDown; -import com.ossez.codebank.interview.KayakRobotMovement; - -/** - * - * @author YuCheng - * - */ -public class KayakTest { - - private final static Logger logger = LoggerFactory.getLogger(KayakTest.class); - - /** - * https://www.cwiki.us/display/ITCLASSIFICATION/Robot+Movement - * - * testGetCoordinates - * - */ - @Test - public void testGetCoordinates() { - logger.debug("TEST Get Coordinat "); - logger.debug("LFFF - [{}]", KayakRobotMovement.getCoordinates("FF")); - logger.debug("LFFFRFFFRRFFF - [{}]", KayakRobotMovement.getCoordinates("LFFFRFFFRRFFF")); - - assertEquals(KayakRobotMovement.getCoordinates("FF"), "0,2"); - assertEquals(KayakRobotMovement.getCoordinates("LFFFRFFFRRFFF"), "-3,0"); - - } - - /** - * https://www.cwiki.us/display/ITCLASSIFICATION/Count+Up+Down - * - * CountUpDown - */ - @Test - public void testCountUpDown() { - logger.debug("TEST Count Up and Down "); - - // 2 -5 - logger.debug("[2 -> 5]"); - logger.debug("UP - {}", new KayakCountUpDown().countUp(2, 5)); - logger.debug("UP & DOWN - {}", new KayakCountUpDown().countUpDown(2, 5)); - - // 0 - 5 - logger.debug("[0 -> 5]"); - logger.debug("UP - {}", new KayakCountUpDown().countUp(0, 5)); - logger.debug("UP & DOWN - {}", new KayakCountUpDown().countUpDown(0, 5)); - - // -1 - 5 - logger.debug("[-1 -> 5]"); - logger.debug("UP - {}", new KayakCountUpDown().countUp(-1, 5)); - logger.debug("UP & DOWN - {}", new KayakCountUpDown().countUpDown(-1, 5)); - - } - -} +package com.ossez.toolkits.codebank.tests.interview; + +import static org.junit.Assert.assertEquals; + +import org.junit.Assert; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.ossez.toolkits.codebank.common.interview.KayakCountUpDown; +import com.ossez.toolkits.codebank.common.interview.KayakRobotMovement; + +/** + * + * @author YuCheng + * + */ +public class KayakTest { + + private final static Logger logger = LoggerFactory.getLogger(KayakTest.class); + + /** + * https://www.cwiki.us/display/ITCLASSIFICATION/Robot+Movement + * + * testGetCoordinates + * + */ + @Test + public void testGetCoordinates() { + logger.debug("TEST Get Coordinat "); + logger.debug("LFFF - [{}]", KayakRobotMovement.getCoordinates("FF")); + logger.debug("LFFFRFFFRRFFF - [{}]", KayakRobotMovement.getCoordinates("LFFFRFFFRRFFF")); + + Assert.assertEquals(KayakRobotMovement.getCoordinates("FF"), "0,2"); + Assert.assertEquals(KayakRobotMovement.getCoordinates("LFFFRFFFRRFFF"), "-3,0"); + + } + + /** + * https://www.cwiki.us/display/ITCLASSIFICATION/Count+Up+Down + * + * CountUpDown + */ + @Test + public void testCountUpDown() { + logger.debug("TEST Count Up and Down "); + + // 2 -5 + logger.debug("[2 -> 5]"); + logger.debug("UP - {}", new KayakCountUpDown().countUp(2, 5)); + logger.debug("UP & DOWN - {}", new KayakCountUpDown().countUpDown(2, 5)); + + // 0 - 5 + logger.debug("[0 -> 5]"); + logger.debug("UP - {}", new KayakCountUpDown().countUp(0, 5)); + logger.debug("UP & DOWN - {}", new KayakCountUpDown().countUpDown(0, 5)); + + // -1 - 5 + logger.debug("[-1 -> 5]"); + logger.debug("UP - {}", new KayakCountUpDown().countUp(-1, 5)); + logger.debug("UP & DOWN - {}", new KayakCountUpDown().countUpDown(-1, 5)); + + } + +} diff --git a/src/test/java/com/ossez/codebank/interview/tests/others/LambdaEvensTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/LambdaEvensTest.java similarity index 94% rename from src/test/java/com/ossez/codebank/interview/tests/others/LambdaEvensTest.java rename to toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/LambdaEvensTest.java index 38bdac4519..e17e89777d 100644 --- a/src/test/java/com/ossez/codebank/interview/tests/others/LambdaEvensTest.java +++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/LambdaEvensTest.java @@ -1,4 +1,4 @@ -package com.ossez.codebank.interview.tests.others; +package com.ossez.toolkits.codebank.tests.interview; import org.junit.Test; import org.slf4j.Logger; diff --git a/src/test/java/com/ossez/codebank/interview/tests/MassMutual.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/MassMutual.java similarity index 98% rename from src/test/java/com/ossez/codebank/interview/tests/MassMutual.java rename to toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/MassMutual.java index b88a2fe2f0..b322242a7c 100644 --- a/src/test/java/com/ossez/codebank/interview/tests/MassMutual.java +++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/MassMutual.java @@ -1,4 +1,4 @@ -package com.ossez.codebank.interview.tests; +package com.ossez.toolkits.codebank.tests.interview; import java.io.File; import java.nio.charset.StandardCharsets; diff --git a/src/test/java/com/ossez/codebank/interview/tests/others/MinimumCoinsTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/MinimumCoinsTest.java similarity index 89% rename from src/test/java/com/ossez/codebank/interview/tests/others/MinimumCoinsTest.java rename to toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/MinimumCoinsTest.java index 9b251ae5fd..aa806bfb7e 100644 --- a/src/test/java/com/ossez/codebank/interview/tests/others/MinimumCoinsTest.java +++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/MinimumCoinsTest.java @@ -1,12 +1,9 @@ -package com.ossez.codebank.interview.tests.others; +package com.ossez.toolkits.codebank.tests.interview; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.List; - /** * For Minimum Coins * diff --git a/src/test/java/com/ossez/codebank/interview/tests/PillPackTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/PillPackTest.java similarity index 94% rename from src/test/java/com/ossez/codebank/interview/tests/PillPackTest.java rename to toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/PillPackTest.java index 17f7e15c5b..3df6538b9f 100644 --- a/src/test/java/com/ossez/codebank/interview/tests/PillPackTest.java +++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/PillPackTest.java @@ -1,83 +1,83 @@ -package com.ossez.codebank.interview.tests; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.stream.Stream; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * PillPack - * - *
- * https://www.cwiki.us/display/ITCLASSIFICATION/Flatten+Nested+Arrays
- * 
- * - * @author YuCheng - * - */ -public class PillPackTest { - - private final static Logger logger = LoggerFactory.getLogger(PillPackTest.class); - - List returnList = new ArrayList(); - - /** - * https://www.cwiki.us/display/ITCLASSIFICATION/Flatten+Nested+Arrays - * - * FlattenNestedArrays - */ - @Test - public void testFlattenNestedArrays() { - logger.debug("Test FlattenNestedArrays"); - - Object[] array = { 1, 2, new Object[] { 3, 4, new Object[] { 5, new Object[] { new Object[] { 6 } } }, 7 }, 8, 9, 10 }; - logger.debug("LOOP: {} - > {}", Arrays.deepToString(array), Arrays.toString(loopFlatten(array))); - - logger.debug("Java 8: {} - > {}", Arrays.deepToString(array), Arrays.toString(java8Flatten(array).toArray())); - - } - - /** - * Loop And Recursive - * - * @param inputArray - * @return - * @throws IllegalArgumentException - */ - private static Integer[] loopFlatten(Object[] inputArray) throws IllegalArgumentException { - // NULL CHECK - if (inputArray == null) - return null; - - List flatList = new ArrayList(); - - for (Object element : inputArray) { - if (element instanceof Integer) { - flatList.add((Integer) element); - } else if (element instanceof Object[]) { - // Recursive - flatList.addAll(Arrays.asList(loopFlatten((Object[]) element))); - } else { - throw new IllegalArgumentException("Input must be an array of Integers or nested arrays of Integers"); - } - } - return flatList.toArray(new Integer[flatList.size()]); - } - - /** - * Java 8 Stream to Flatten array. - * - * @param array - * @return - */ - private static Stream java8Flatten(Object[] array) { - // int[] flatInt = java8Flatten(array).mapToInt(Integer.class::cast).toArray(); - return Arrays.stream(array).flatMap(o -> o instanceof Object[] ? java8Flatten((Object[]) o) : Stream.of(o)); - - } - -} +package com.ossez.toolkits.codebank.tests.interview; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Stream; + +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * PillPack + * + *
+ * https://www.cwiki.us/display/ITCLASSIFICATION/Flatten+Nested+Arrays
+ * 
+ * + * @author YuCheng + * + */ +public class PillPackTest { + + private final static Logger logger = LoggerFactory.getLogger(PillPackTest.class); + + List returnList = new ArrayList(); + + /** + * https://www.cwiki.us/display/ITCLASSIFICATION/Flatten+Nested+Arrays + * + * FlattenNestedArrays + */ + @Test + public void testFlattenNestedArrays() { + logger.debug("Test FlattenNestedArrays"); + + Object[] array = { 1, 2, new Object[] { 3, 4, new Object[] { 5, new Object[] { new Object[] { 6 } } }, 7 }, 8, 9, 10 }; + logger.debug("LOOP: {} - > {}", Arrays.deepToString(array), Arrays.toString(loopFlatten(array))); + + logger.debug("Java 8: {} - > {}", Arrays.deepToString(array), Arrays.toString(java8Flatten(array).toArray())); + + } + + /** + * Loop And Recursive + * + * @param inputArray + * @return + * @throws IllegalArgumentException + */ + private static Integer[] loopFlatten(Object[] inputArray) throws IllegalArgumentException { + // NULL CHECK + if (inputArray == null) + return null; + + List flatList = new ArrayList(); + + for (Object element : inputArray) { + if (element instanceof Integer) { + flatList.add((Integer) element); + } else if (element instanceof Object[]) { + // Recursive + flatList.addAll(Arrays.asList(loopFlatten((Object[]) element))); + } else { + throw new IllegalArgumentException("Input must be an array of Integers or nested arrays of Integers"); + } + } + return flatList.toArray(new Integer[flatList.size()]); + } + + /** + * Java 8 Stream to Flatten array. + * + * @param array + * @return + */ + private static Stream java8Flatten(Object[] array) { + // int[] flatInt = java8Flatten(array).mapToInt(Integer.class::cast).toArray(); + return Arrays.stream(array).flatMap(o -> o instanceof Object[] ? java8Flatten((Object[]) o) : Stream.of(o)); + + } + +} diff --git a/src/test/java/com/ossez/codebank/interview/tests/TennaTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/TennaTest.java similarity index 94% rename from src/test/java/com/ossez/codebank/interview/tests/TennaTest.java rename to toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/TennaTest.java index 2f3ec0f3cd..86e3ad55c8 100644 --- a/src/test/java/com/ossez/codebank/interview/tests/TennaTest.java +++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/TennaTest.java @@ -1,4 +1,4 @@ -package com.ossez.codebank.interview.tests; +package com.ossez.toolkits.codebank.tests.interview; import java.util.HashMap; diff --git a/src/test/java/com/ossez/codebank/interview/tests/WayfairTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/WayfairTest.java similarity index 97% rename from src/test/java/com/ossez/codebank/interview/tests/WayfairTest.java rename to toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/WayfairTest.java index 2dde74bcd9..105141c652 100644 --- a/src/test/java/com/ossez/codebank/interview/tests/WayfairTest.java +++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/interview/WayfairTest.java @@ -1,4 +1,4 @@ -package com.ossez.codebank.interview.tests; +package com.ossez.toolkits.codebank.tests.interview; import java.math.BigDecimal; import java.util.ArrayList; diff --git a/toolkits/discourse/pom.xml b/toolkits/discourse/pom.xml index ecc3e6f9bc..40dca25e9e 100644 --- a/toolkits/discourse/pom.xml +++ b/toolkits/discourse/pom.xml @@ -52,6 +52,14 @@ ${java.version} + + org.apache.maven.plugins + maven-compiler-plugin + + 11 + 11 + + From 3adb8883622afacd8b504579c2dce0b8db07155a Mon Sep 17 00:00:00 2001 From: YuCheng Hu Date: Mon, 26 Apr 2021 00:11:43 -0400 Subject: [PATCH 3/3] Change code for full project compile --- .idea/.name | 1 - .idea/compiler.xml | 8 +- .idea/jarRepositories.xml | 15 - .idea/libraries-with-intellij-classes.xml | 65 ----- .idea/misc.xml | 7 +- .idea/modules.xml | 6 - .idea/workspace.xml | 270 +----------------- .../toolkits/codebank/tests/LintcodeTest.java | 2 +- 8 files changed, 18 insertions(+), 356 deletions(-) delete mode 100644 .idea/.name delete mode 100644 .idea/libraries-with-intellij-classes.xml diff --git a/.idea/.name b/.idea/.name deleted file mode 100644 index cb2497b5cb..0000000000 --- a/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -cwiki-us-demo-tutorials \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 180534cff0..c1f674d39e 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -7,18 +7,12 @@ - - + - - - - - diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml index 24dce4c262..712ab9d985 100644 --- a/.idea/jarRepositories.xml +++ b/.idea/jarRepositories.xml @@ -1,21 +1,11 @@ - - - - - - \ No newline at end of file diff --git a/.idea/libraries-with-intellij-classes.xml b/.idea/libraries-with-intellij-classes.xml deleted file mode 100644 index 9fa31567f1..0000000000 --- a/.idea/libraries-with-intellij-classes.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 740639b35c..17e19eb41d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -6,11 +6,6 @@ - - + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 2da9b0836e..d29913b7c7 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -3,12 +3,6 @@ - - - - - - diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 8996c0a2c9..58252cbbc8 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -4,291 +4,51 @@ - + + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - 1618145802441 + + 1619410137650 - - 1618147556538 - - - 1618147882644 - - - 1618151038853 - - - 1618157753954 - - - 1618499169408 - - - 1618499203125 - - - 1618503350719 - - - 1618503445699 - - - 1618509340144 - - - 1618515214208 - - - 1618519278569 - - - 1618519439477 - - - 1618519836247 - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/LintcodeTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/LintcodeTest.java index 082e4b6b62..21b25848e7 100644 --- a/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/LintcodeTest.java +++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/LintcodeTest.java @@ -7,11 +7,11 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import com.ossez.toolkits.codebank.common.model.ListNode; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.ossez.lang.tutorial.models.ListNode; /** *