diff --git a/toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/model/request/TopicRequest.java b/toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/model/request/TopicRequest.java index 3e0fa1db22..d5d1ee237a 100644 --- a/toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/model/request/TopicRequest.java +++ b/toolkits/codebank/src/main/java/com/ossez/toolkits/codebank/common/model/request/TopicRequest.java @@ -1,6 +1,10 @@ package com.ossez.toolkits.codebank.common.model.request; +import org.apache.commons.lang3.builder.EqualsBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; + import java.io.Serializable; +import java.util.Objects; /** @@ -79,4 +83,20 @@ public class TopicRequest implements Serializable { public void setCreated_at(String created_at) { this.created_at = created_at; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + + if (o == null || getClass() != o.getClass()) return false; + + TopicRequest that = (TopicRequest) o; + + return new EqualsBuilder().append(title, that.title).append(topic_id, that.topic_id).append(raw, that.raw).append(category, that.category).append(target_recipients, that.target_recipients).append(archetype, that.archetype).append(created_at, that.created_at).isEquals(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder(17, 37).append(title).append(topic_id).append(raw).append(category).append(target_recipients).append(archetype).append(created_at).toHashCode(); + } } 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 2e673b4fb1..679d7d1c84 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,5 +1,7 @@ package com.ossez.toolkits.codebank.tests; +import com.google.api.gbase.client.NumberUnit; +import com.ossez.toolkits.codebank.common.model.request.TopicRequest; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -25,6 +27,21 @@ public class BlackboardTest { @Test public void testMain() { logger.debug("TREE TEST"); + + TopicRequest topicRequest = new TopicRequest(); +// topicRequest.setTopic_id(11); + logger.debug("HashCode 1 - {}", topicRequest.hashCode()); + + logger.debug("HashCode AaAaAa - {}", "AaAaAa".hashCode()); + logger.debug("HashCode BBAaBB - {}", "BBAaBB".hashCode()); + +// if((1/2) && false) { +// +// } + +// topicRequest = new TopicRequest(); + logger.debug("HashCode 2 - {}", topicRequest.hashCode()); + String data = "{1,2,3,4,5,#,6,#,#,7,8,#,#}"; this.subLogic(data); 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 7573d85a09..77ad13d12f 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 @@ -6,6 +6,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.Map; /** *

@@ -17,43 +19,62 @@ import java.util.ArrayList; * "https://leetcode.com/problems/first-unique-character-in-a-string/">https://leetcode.com/problems/first-unique-character-in-a-string/ * *

- * - * @author YuCheng * + * @author YuCheng */ public class LeetCode0387FirstUniqueCharacterTest { - private final static Logger logger = LoggerFactory.getLogger(LeetCode0387FirstUniqueCharacterTest.class); + private final static Logger logger = LoggerFactory.getLogger(LeetCode0387FirstUniqueCharacterTest.class); - /** - * - */ - @Test - public void testMain() { - logger.debug("BEGIN"); - String data = "leetcode"; + /** + * + */ + @Test + public void testMain() { + logger.debug("BEGIN"); + String data = "lovelycomossez"; - System.out.println(firstUniqChar(data)); + System.out.println(firstUniqChar(data)); - } + } - /** - * Deserialize from array to tree - * - * @param data - * @return - */ - private int firstUniqChar(String data) { - // NULL CHECK - if (data.equals("")) { - return -1; - } + /** + * Deserialize from array to tree + * + * @param data + * @return + */ + private int firstUniqChar(String data) { + // NULL CHECK + if (data.equals("")) { + return -1; + } + + int retVal = -1; + LinkedHashMap retMap = new LinkedHashMap(); + char[] chStr = data.toCharArray(); - return 0; + for (int i = 0; i < chStr.length; i++) { + if (retMap.get(chStr[i]) != null) { + retMap.put(chStr[i], retMap.get(chStr[i]) + "#" + String.valueOf(i)); + } else { + retMap.put(chStr[i], String.valueOf(i)); + } + } - } + for (Map.Entry me : retMap.entrySet()) { + String val = "" + me.getValue(); + if (!val.contains("#")) { + retVal = Integer.valueOf(val); + break; + } + } + return retVal; + + } + }