diff --git a/palindromic-substrings/chjung99.go b/palindromic-substrings/chjung99.go new file mode 100644 index 0000000000..512b4733d4 --- /dev/null +++ b/palindromic-substrings/chjung99.go @@ -0,0 +1,24 @@ +func countSubstrings(s string) int { + ans := 0 + n := len(s) + + for i := 0; i < n; i++ { + for j := i+1; j <= n; j++ { + if (isPalindrom(s[i:j])) { + ans++ + } + } + } + return ans +} + +func isPalindrom(s string) bool { + var rev []byte + n := len(s) + for i := n-1; i >= 0; i-- { + rev = append(rev, s[i]) + } + return string(rev) == s +} + + diff --git a/sum-of-two-integers/chjung99.go b/sum-of-two-integers/chjung99.go new file mode 100644 index 0000000000..4c66c6daf6 --- /dev/null +++ b/sum-of-two-integers/chjung99.go @@ -0,0 +1,12 @@ +func getSum(a int, b int) int { + for b != 0 { + sumWithoutCarry := a ^ b + carry := (a & b) << 1 + + a = sumWithoutCarry + b = carry + } + return a +} + + diff --git a/top-k-frequent-elements/chjung99.java b/top-k-frequent-elements/chjung99.java new file mode 100644 index 0000000000..7abc3dce1c --- /dev/null +++ b/top-k-frequent-elements/chjung99.java @@ -0,0 +1,34 @@ +class Solution { + public int[] topKFrequent(int[] nums, int k) { + Map map = new HashMap<>(); + int[] answer = new int[k]; + int n = nums.length; + List result = new ArrayList<>(); + + for (int i = 0; i < n; i++) { + int key = nums[i]; + if (map.get(key) == null) { + map.put(key, 1); + } else { + map.put(key, map.get(key) + 1); + } + } + for (int key: map.keySet()) { + result.add(new Data(key, map.get(key))); + } + result.sort((a, b) -> b.count() - a.count()); + + for (int i = 0; i < k; i++) { + answer[i] = result.get(i).key(); + } + + return answer; + + } + record Data( + int key, + int count + ){} +} + +