diff --git a/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/BlackboardTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/BlackboardTest.java
index 679d7d1c84..608eecdc8d 100644
--- a/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/BlackboardTest.java
+++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/BlackboardTest.java
@@ -1,17 +1,19 @@
package com.ossez.toolkits.codebank.tests;
import com.google.api.gbase.client.NumberUnit;
+import com.ibm.icu.impl.CharTrie;
import com.ossez.toolkits.codebank.common.model.request.TopicRequest;
+import org.apache.commons.lang3.CharUtils;
+import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
/**
- * This is the test file for something like to quick run.
+ * This is the test file for something like to quick run.a Diophantine equation is a polynomial equation
* Once test finished, we need to move codes to different name, just like when we were student we like to eraser after using.
*
* @author YuCheng
@@ -21,16 +23,65 @@ public class BlackboardTest {
private static List loopList = new ArrayList<>();
- /**
- * Main Test to Run
- */
- @Test
+ @Test
+ public void test2st() {
+
+
+ }
+
+ @Test
+ public void test1st() {
+
+ Hashtable hashTable = new Hashtable<>();
+
+ String data = "aass";
+ char[] strArray = data.toCharArray();
+ String retStr = "";
+// char xC = Character.toString("C");
+// CharUtils.toChar()
+
+ if (data.length() == 1) {
+ retStr = data;
+ }
+
+ for (int i = 0; i < strArray.length; i++) {
+ String valStr = Character.toString(strArray[i]);
+ String rData = data;
+ rData = data.replace(valStr, "");
+ rData = rData.replace(valStr.toUpperCase(Locale.ROOT), "");
+ rData = rData.replace(valStr.toLowerCase(Locale.ROOT), "");
+
+ if (rData.length() == 0) {
+ retStr = "";
+ } else if (rData.length() + 1 == data.length()) {
+ retStr = valStr;
+ break;
+ }
+
+// char val1 = strArray[i];
+// for(int j=i; j returnList = new ArrayList<>();
+
+ String dataStr = "";
+ for (String arrayData : words1) {
+ dataStr = dataStr + arrayData + "-";
+ }
+
+
+ while (StringUtils.isNotEmpty(dataStr)) {
+ if (StringUtils.length(dataStr) <= lineLength) {
+ returnList.add(dataStr);
+ break;
+ }
+
+ String subStr = dataStr.substring(0, lineLength);
+ if (subStr.endsWith("-")) {
+ subStr = StringUtils.removeEnd(subStr, "-");
+ } else {
+ if (StringUtils.equals(dataStr.substring(lineLength, lineLength + 1), "-")) {
+ subStr = StringUtils.substring(subStr, 0, lineLength);
+ } else {
+ subStr = StringUtils.substring(subStr, 0, StringUtils.lastIndexOf(subStr, "-"));
+ }
+ }
+ returnList.add(subStr);
+
+
+ dataStr = StringUtils.replace(dataStr, subStr, "");
+ dataStr = StringUtils.removeStart(dataStr, "-");
+ dataStr = StringUtils.removeEnd(dataStr, "-");
+ }
+
+
+ System.out.println(returnList);
+
+
}
diff --git a/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/algorithm/PrimeNumbersTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/algorithm/PrimeNumbersTest.java
index 918fb247e1..5af079194a 100644
--- a/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/algorithm/PrimeNumbersTest.java
+++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/algorithm/PrimeNumbersTest.java
@@ -1,6 +1,5 @@
package com.ossez.toolkits.codebank.tests.algorithm;
-
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
import org.slf4j.Logger;
@@ -11,9 +10,9 @@ import java.util.List;
/**
*
- * More details about question see link below
+ * Prime numbers from 1 to 100
*
*
@@ -34,21 +33,21 @@ public class PrimeNumbersTest {
int N = 100;
List primeNumberList = new ArrayList<>();
+
for (int i = 2; i < N; i++) {
- if (isPrimeNumber(i))
- primeNumberList.add(i);
- }
+ if (isPrimeNumber(i))
+ primeNumberList.add(i);
+ }
logger.debug("primeNumber Count -[{}]", primeNumberList.size());
- logger.debug("primeNumber Count -[{}]", primeNumberList);
+ logger.debug("primeNumber Count -[{}]", primeNumberList);
}
/**
* @param number
* @return
*/
- public boolean isPrimeNumber(int number) {
- System.out.println(5%3);;
+ private boolean isPrimeNumber(int number) {
for (int i = 2; i < number; i++) {
if (number % i == 0) {
return false;
diff --git a/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/algorithm/WordWrapTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/algorithm/WordWrapTest.java
new file mode 100644
index 0000000000..099d7ff118
--- /dev/null
+++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/algorithm/WordWrapTest.java
@@ -0,0 +1,79 @@
+package com.ossez.toolkits.codebank.tests.algorithm;
+
+import org.apache.commons.lang3.StringUtils;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *
+ * word-wrap Function
+ *
+ *
+ *
+ * @author YuCheng
+ */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
+public class WordWrapTest {
+
+ private final static Logger logger = LoggerFactory.getLogger(WordWrapTest.class);
+
+ /**
+ * Test word-wrap Function
+ */
+ @Test
+ public void testMain() {
+ logger.debug("BEGIN");
+
+
+ String[] words1 = {"The", "day", "began", "as", "still", "as", "the", "night", "abruptly", "lighted", "with", "brilliant", "flame"};
+ int lineLength1_1 = 13;
+ int lineLength1_2 = 20;
+
+ int lineLength = lineLength1_1;
+
+ List returnList = new ArrayList<>();
+
+ String dataStr = "";
+ for (String arrayData : words1) {
+ dataStr = dataStr + arrayData + "-";
+ }
+
+
+ while (StringUtils.isNotEmpty(dataStr)) {
+ if (StringUtils.length(dataStr) <= lineLength) {
+ returnList.add(dataStr);
+ break;
+ }
+
+ String subStr = dataStr.substring(0, lineLength);
+ if (subStr.endsWith("-")) {
+ subStr = StringUtils.removeEnd(subStr, "-");
+ } else {
+ if (StringUtils.equals(dataStr.substring(lineLength, lineLength + 1), "-")) {
+ subStr = StringUtils.substring(subStr, 0, lineLength);
+ } else {
+ subStr = StringUtils.substring(subStr, 0, StringUtils.lastIndexOf(subStr, "-"));
+ }
+ }
+ returnList.add(subStr);
+
+
+ dataStr = StringUtils.replace(dataStr, subStr, "");
+ dataStr = StringUtils.removeStart(dataStr, "-");
+ dataStr = StringUtils.removeEnd(dataStr, "-");
+ }
+
+ logger.debug("{}", returnList);
+ }
+
+
+}
+
diff --git a/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/leetcode/LeetCode0387FirstUniqueCharacterTest.java b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/leetcode/LeetCode0387FirstUniqueCharacterTest.java
index e5b08317b1..2ec0e02382 100644
--- a/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/leetcode/LeetCode0387FirstUniqueCharacterTest.java
+++ b/toolkits/codebank/src/test/java/com/ossez/toolkits/codebank/tests/leetcode/LeetCode0387FirstUniqueCharacterTest.java
@@ -7,6 +7,7 @@ import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.LinkedHashMap;
+import java.util.Locale;
import java.util.Map;
/**
@@ -35,11 +36,12 @@ public class LeetCode0387FirstUniqueCharacterTest {
String data = "lovelycomossez";
System.out.println(firstUniqChar(data));
+ System.out.println(firstUniqCharString(data));
}
/**
- * Deserialize from array to tree
+ * Return the first Uniq Char String index
*
* @param data
* @return
@@ -76,5 +78,39 @@ public class LeetCode0387FirstUniqueCharacterTest {
}
+ /**
+ * Return the first Uniq Char String without using Map
+ * @param data
+ * @return
+ */
+ private String firstUniqCharString(String data) {
+ // NULL CHECK
+ if (data.equals("")) {
+ return "";
+ }
+
+ char[] strArray = data.toCharArray();
+ String retStr = "";
+
+ if (data.length() == 1) {
+ retStr = data;
+ }
+
+ for (int i = 0; i < strArray.length; i++) {
+ String valStr = Character.toString(strArray[i]);
+ String rData = data;
+ rData = data.replace(valStr, "");
+ rData = rData.replace(valStr.toUpperCase(Locale.ROOT), "");
+ rData = rData.replace(valStr.toLowerCase(Locale.ROOT), "");
+
+ if (rData.length() == 0) {
+ retStr = "";
+ } else if (rData.length() + 1 == data.length()) {
+ retStr = valStr;
+ break;
+ }
+ }
+ return retStr;
+ }
}