LeetCode – Sparse Matrix Multiplication (Java)

Given two sparse matrices A and B, return the result of AB. You may assume that A’s column number is equal to B’s row number. 1. Naive Method We can implement Sum(A_ik * B_kj) -> C_ij as a naive solution. public int[][] multiply(int[][] A, int[][] B) { //validity check   int[][] C = new int[A.length][B[0].length]; … Read more

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

LeetCode – Longest Absolute File Path (Java)

https://leetcode.com/problems/longest-absolute-file-path/ Java Solution 1 class Node{ int level; int len; public Node(int lev, int len){ this.level = lev; this.len = len; } }   public class Solution { public int lengthLongestPath(String input) { if(input==null||input.length()==0) return 0;   int max=0;   String[] arr = input.split("\n");   Stack<Node> stack = new Stack<Node>();   for(int i=0; i<arr.length; i++){ … Read more

LeetCode – Rearrange String k Distance Apart (Java)

Given a non-empty string str and an integer k, rearrange the string such that the same characters are at least distance k from each other. All input strings are given in lowercase letters. If it is not possible to rearrange the string, return an empty string “”. Example: str = “aabbcc”, k = 3 Result: … Read more

LeetCode – Design Twitter (Java)

Design a simplified version of Twitter where users can post tweets, follow/unfollow another user and is able to see the 10 most recent tweets in the user’s news feed. Your design should support the following methods: postTweet(userId, tweetId): Compose a new tweet. getNewsFeed(userId): Retrieve the 10 most recent tweet ids in the user’s news feed. … Read more

LeetCode – Nested List Weight Sum II (Java)

Given a nested list of integers, return the sum of all integers in the list weighted by their depth. Each element is either an integer, or a list — whose elements may also be integers or other lists. Different from the previous question where weight is increasing from root to leaf, now the weight is … Read more