LeetCode – Binary Watch (Java)

Given a non-negative integer n which represents the number of LEDs that are currently on, return all possible times the watch could represent. Example: Input: n = 1 Return: [“1:00”, “2:00”, “4:00”, “8:00”, “0:01”, “0:02”, “0:04”, “0:08”, “0:16”, “0:32”] Accepted Java Solution public List<String> readBinaryWatch(int num) { List<String> result = new ArrayList<String>();   for(int i=0; … Read more

Find a Path in a Matrix

Given a 2d matrix, find a path from the top left corner to bottom right corner. Assume there exists at least one path, and you only need to find one valid path. You can move up, right, down, left at any position. For example, given [1, 0, 0, 0, 0] [1, 0, 1, 1, 1] … Read more

LeetCode – Decode String (Java)

Given an encoded string, return it’s decoded string. For example, given “3[a2[b]]”, return “abbabbabb”. https://leetcode.com/problems/decode-string/ Java Solution The key to solve this problem is convert the string to a structured data structure and recursively form the return string. class Solution { public String decodeString(String s) { Stack<Exp> stack = new Stack<>();   Exp e = … Read more

LeetCode – Longest Substring with At Least K Repeating Characters (Java)

Find the length of the longest substring T of a given string (consists of lowercase letters only) such that every character in T appears no less than k times. Example 1: Input: s = “aaabb”, k = 3 Output: 3 The longest substring is “aaa”, as ‘a’ is repeated 3 times. Java Solution This problem … Read more