MaiDeveloper

Symmetric Tree in JavaScript

Given the root of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center).

Palindrome Linked List in JavaScript

Given the head of a singly linked list, return true if it is a palindrome.

Move Zeroes in JavaScript

Given an integer array nums, move all 0's to the end of it while maintaining the relative order of the non-zero elements. Note that you must do this in-place without making a copy of the array.

Decode Ways In JavaScript

A message containing letters from A-Z can be encoded into numbers using the mapping. To decode an encoded message, all the digits must be grouped then mapped back into letters using the reverse of the mapping above (there may be multiple ways).

Number of Islands in JavaScript

Given an m x n 2D binary grid, grid which represents a map of '1's (land) and '0's (water), return the number of islands.

Unique Path III in JavaScript

On a 2-dimensional grid, there are 4 types of squares. Return the number of 4-directional walks from the starting square to the ending square, that walk over every non-obstacle square exactly once.

Largest Rectangle in Histogram in JavaScript

Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of largest rectangle in the histogram.

Verifying an Alien Dictionary in JavaScript

In an alien language, surprisingly they also use english lowercase letters, but possibly in a different order. The order of the alphabet is some permutation of lowercase letters.

Longest Palindromic Substring in JavaScript

Given a string, find the longest palindromic substring. We going to iterate each character in the string; and within that character, we expand and look for the longest palindrome. As we keep iterating, we only keep the longest palindrome.

Clock Angle in JavaScript

Given two integers, an hour and a minute, write a function to calculate the angle between the two hands on a clock representing that time.

Rotting Oranges

Every minute, any fresh orange that is adjacent (4-directionally) to a rotten orange becomes rotten. Return the minimum number of minutes that must elapse until no cell has a fresh orange. If this is impossible, return -1 instead.

Prime Number of Set Bits in Binary Representation

Given two integers L and R, find the count of numbers in the range [L, R] (inclusive) having a prime number of set bits in their binary representation. (Recall that the number of set bits an integer has is the number of 1s present when written in binary.

Second Minimum Node In a Binary Tree

Given a non-empty special binary tree consisting of nodes with the non-negative value, where each node in this tree has exactly two or zero sub-node. If the node has two sub-nodes, then this node's value is the smaller value among its two sub-nodes.

Robot Bounded In Circle In JavaScript

On an infinite plane, a robot initially stands at (0, 0) and faces north. The robot can receive one of three instructions: "G": go straight 1 unit; "L": turn 90 degrees to the left; "R": turn 90 degress to the right. The robot performs the instructions given in order, and repeats them forever.

Reshape the Matrix

You're given a matrix represented by a two-dimensional array, and two positive integers r and c representing the row number and column number of the wanted reshaped matrix, respectively.

Pairs of Songs With Total Durations Divisible by 60

In a list of songs, the i-th song has a duration of time[i] seconds. Return the number of pairs of songs for which their total duration in seconds is divisible by 60. Formally, we want the number of indices i < j with (time[i] + time[j]) % 60 == 0.

Remove All Adjacent Duplicates In String

Given a string S of lowercase letters, a duplicate removal consists of choosing two adjacent and equal letters, and removing them. We repeatedly make duplicate removals on S until we no longer can.

Remove Outermost Parentheses

A valid parentheses string is either empty (""), "(" + A + ")", or A + B, where A and B are valid parentheses strings, and + represents string concatenation. For example, "", "()", "(())()", and "(()(()))" are all valid parentheses strings.

Search a 2D Matrix

Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties: Integers in each row are sorted from left to right. The first integer of each row is greater than the last integer of the previous row.

Minimum Size Subarray Sum

Given an array of n positive integers and a positive integer s, find the minimal length of a contiguous subarray of which the sum ≥ s. If there isn't one, return 0 instead.