This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Given an array of strings strs, group the anagrams together. You can return the answer in any order. | |
An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once. | |
Example 1: | |
Input: strs = ["eat","tea","tan","ate","nat","bat"] | |
Output: [["bat"],["nat","tan"],["ate","eat","tea"]] | |
Example 2: | |
Input: strs = [""] | |
Output: [[""]] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Given a string s, return the longest palindromic substring in s. | |
Example 1: | |
Input: s = "babad" | |
Output: "bab" | |
Note: "aba" is also a valid answer. | |
Example 2: | |
Input: s = "cbbd" | |
Output: "bb" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Write a function that reverses a string. The input string is given as an array of characters s. | |
Example 1: | |
Input: s = ["h","e","l","l","o"] | |
Output: ["o","l","l","e","h"] | |
Example 2: | |
Input: s = ["H","a","n","n","a","h"] | |
Output: ["h","a","n","n","a","H"] | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Given an input string s, reverse the order of the words. | |
A word is defined as a sequence of non-space characters. The words in s will be separated by at least one space. | |
Return a string of the words in reverse order concatenated by a single space. | |
Note that s may contain leading or trailing spaces or multiple spaces between two words. The returned string should only have a single space separating the words. Do not include any extra spaces. | |
*/ | |
const reverseWords = (s) => { | |
s = s.trim(); | |
s = s.split(' '); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Given a character array s, reverse the order of the words. | |
A word is defined as a sequence of non-space characters. The words in s will be separated by a single space. | |
Your code must solve the problem in-place, i.e. without allocating extra space. | |
Example 1: | |
Input: s = ["t","h","e"," ","s","k","y"," ","i","s"," ","b","l","u","e"] | |
Output: ["b","l","u","e"," ","i","s"," ","s","k","y"," ","t","h","e"] | |
Example 2: | |
Input: s = ["a"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
You are given an n x n 2D matrix representing an image, rotate the image by 90 degrees (clockwise). | |
You have to rotate the image in-place, which means you have to modify the input 2D matrix directly. DO NOT allocate another 2D matrix and do the rotation. | |
Example 1: | |
Input: matrix = [[1,2,3],[4,5,6],[7,8,9]] | |
Output: [[7,4,1],[8,5,2],[9,6,3]] | |
Example 2: | |
Input: matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]] | |
Output: [[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Given an m x n matrix. If an element is 0, set its entire row and column to 0. Do it in-place. | |
Follow up: | |
A straight forward solution using O(mn) space is probably a bad idea. | |
A simple improvement uses O(m + n) space, but still not the best solution. | |
Could you devise a constant space solution? | |
Example 1: | |
Input: matrix = [[1,1,1],[1,0,1],[1,1,1]] | |
Output: [[1,0,1],[0,0,0],[1,0,1]] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Given an m x n matrix, return all elements of the matrix in spiral order. | |
Example 1: | |
Input: matrix = [[1,2,3],[4,5,6],[7,8,9]] | |
Output: [1,2,3,6,9,8,7,4,5] | |
Example 2: | |
Input: matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] | |
Output: [1,2,3,4,8,12,11,10,9,5,6,7] | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Implement the myAtoi(string s) function, which converts a string to a 32-bit signed integer (similar to C/C++'s atoi function). | |
The algorithm for myAtoi(string s) is as follows: | |
Read in and ignore any leading whitespace. | |
Check if the next character (if not already at the end of the string) is '-' or '+'. Read this character in if it is either. This determines if the final result is negative or positive respectively. Assume the result is positive if neither is present. | |
Read in next the characters until the next non-digit charcter or the end of the input is reached. The rest of the string is ignored. | |
Convert these digits into an integer (i.e. "123" -> 123, "0032" -> 32). If no digits were read, then the integer is 0. Change the sign as necessary (from step 2). | |
If the integer is out of the 32-bit signed integer range [-231, 231 - 1], then clamp the integer so that it remains in the range. Specifically, integers less than -231 should be clamped to -231, and integers greater than 231 - 1 should be clamped to 23 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining. | |
Example 1: | |
Input: height = [0,1,0,2,1,0,1,3,2,1,2,1] | |
Output: 6 | |
Explanation: The above elevation map (black section) is represented by array [0,1,0,2,1,0,1,3,2,1,2,1]. In this case, 6 units of rain water (blue section) are being trapped. | |
Example 2: | |
Input: height = [4,2,0,3,2,5] | |
Output: 9 | |
OlderNewer