Leetcode 290: Word Pattern

Given a pattern and a string s, find if s follows the same pattern. Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in s. https://leetcode.com/problems/word-pattern/ class Solution { public boolean wordPattern(String pattern, String s) { String[] sArr = s.split(" "); Map<Character, String> map = new HashMap<>(); char[] pArr = pattern.toCharArray(); //if the length of ...

Solved! Leetcode 1428: Leftmost Column with at Least a One

A row-sorted binary matrix means that all elements are 0 or 1 and each row of the matrix is sorted in non-decreasing order.Given a row-sorted binary matrix binaryMatrix, return the index (0-indexed) of the leftmost column with a 1 in it. If such an index does not exist, return -1.You can’t access the Binary Matrix ...

Leetcode 797: All Paths From Source to Target

Given a directed acyclic graph (DAG) of n nodes labeled from 0 to n - 1, find all possible paths from node 0 to node n - 1 and return them in any order. The graph is given as follows: graph[i] is a list of all nodes you can visit from node i (i.e., there is a directed edge from node i to node graph[i][j]). https://leetcode.com/problems/all-paths-from-source-to-target/description/ class Solution { public List<List<Integer>> allPathsSourceTarget(int[][] ...

Leetcode 1167: Minimum Cost to Connect Sticks

You have some number of sticks with positive integer lengths. These lengths are given as an array sticks, where sticks[i] is the length of the ith stick. You can connect any two sticks of lengths x and y into one stick by paying a cost of x + y. You must connect all the sticks until there is only one stick remaining. Return the minimum cost of connecting ...

Leetcode 1834: Single-Threaded CPU

You are given n​​​​​​ tasks labeled from 0 to n - 1 represented by a 2D integer array tasks, where tasks[i] = [enqueueTimei, processingTimei] means that the i​​​​​​th​​​​ task will be available to process at enqueueTimei and will take processingTimeito finish processing. You have a single-threaded CPU that can process at most one task at a time and will act in the following way: If the CPU is idle ...

Protected access modifier in Java

As per the official java documentation from Oracle: “The protected modifier specifies that the member can only be accessed within its own package (as with package-private) and, in addition, by a subclass of its class in another package.” What this means is: Say, a concrete class Parent in package com.coddicted has a protected method named ...

Java Streams : Convert List of Strings to Single Comma separated String

In this short post, we’d explain how to convert/ reduce a List of Strings into a single comma (,) separated String using Java-8 Streams API. here’s the code: import java.util.Arrays; import java.util.List; public class ListToString { public static String getCommaSeparatedString(List<string> input) { return input.stream() .reduce( // identity function for String concatenation "", (s1, s2) -> ...

Building a Chat-Application

Hello Everyone, We’ve started a Youtube channel named Coddicted and the first series that we’re going to showcase you is about building a WhatsApp like Chat application on Android. Here’s the first in the series of videos: This is still a work-in-progress, but, we hope you enjoy the series as much as we’ve enjoyed creating ...

N-ary Tree PreOrder Traversal 2

Title: N-ary Tree Preorder Traversal Source: leetcode.com Given an n-ary tree, return the preorder traversal of its nodes’ values. For example, given a 3-ary tree: Return its preorder traversal as: [1,3,5,6,2,4]. Note: Recursive solution is trivial, could you do it iteratively? You could find another explanation/ problem related to Preorder Traversal here. Java solution (Recursive) ...

Maximum Product of Word Lengths

Title: Maximum Product of Word Lengths Source: leetcode.com Given a string array words, find the maximum value of length(word[i]) * length(word[j]) where the two words do not share common letters. You may assume that each word will contain only lower case letters. If no such two words exist, return 0. Example 1: Input: [“abcw”,”baz”,”foo”,”bar”,”xtfn”,”abcdef”] Output: ...