1. A
palindrome is a sequence of characters that reads the same backwards and
forwards. Given a string, s, find the longest palindromic substring in s.

Example:

Example:

Input: "banana"

Output: "anana"

Input: "million"

Output: "illi"

Output: "anana"

Input: "million"

Output: "illi"

2. You
are given the root of a binary tree. Invert the binary tree in place. That is,
all left children should become right children, and all right children should
become left children.

Example:

Example:

a

/ \

b c

/ \ /

d e f

/ \

b c

/ \ /

d e f

3. Implement a
class for a stack that supports all the regular functions (push, pop) and
an additional function of max() which
returns the maximum element in the stack (return None if the stack is empty). Each method should run
in constant time.

4. Given
a string with the initial condition of dominoes, where:

. represents that the domino is standing still

L represents that the domino is falling to the left side

R represents that the domino is falling to the right side

Figure out the final position of the dominoes. If there are dominoes that get pushed on both ends, the force cancels out and that domino remains upright.

Example:

. represents that the domino is standing still

L represents that the domino is falling to the left side

R represents that the domino is falling to the right side

Figure out the final position of the dominoes. If there are dominoes that get pushed on both ends, the force cancels out and that domino remains upright.

Example:

Input:
..R...L..R.

Output: ..RR.LL..RR

Output: ..RR.LL..RR

5. You are given an array of integers. Find the maximum sum
of all possible contiguous subarrays of the array.

Example:

[34, -50, 42, 14, -5, 86]

Given this input array, the output should be 137. The contiguous subarray with the largest sum is [42, 14, -5, 86].

Your solution should run in linear time.

Example:

[34, -50, 42, 14, -5, 86]

Given this input array, the output should be 137. The contiguous subarray with the largest sum is [42, 14, -5, 86].

Your solution should run in linear time.

6. You are given an array of k sorted singly linked lists.
Merge the linked lists into a single sorted linked list and return it.

7. Given an array, nums, of n integers, find all unique triplets (three
numbers, a, b, & c) in nums such
that a + b + c = 0. Note that there may not be any triplets that sum to zero
in nums, and that the triplets must
not be duplicates.

Example:

Example:

Input: nums = [0, -1, 2, -3, 1]

Output: [0, -1, 1], [2, -3, 1]

Output: [0, -1, 1], [2, -3, 1]

8. You are given the root
of a binary tree. Find and return the largest subtree of that tree, which is a
valid binary search tree.

9. You are the manager of a number of employees
who all sit in a row. The CEO would like to give bonuses to all of your
employees, but since the company did not perform so well this year the CEO
would like to keep the bonuses to a minimum.

The rules of giving bonuses is that:

- Each employee begins with a bonus factor of 1x.

- For each employee, if they perform better than the person sitting next to them, the employee is given +1 higher bonus (and up to +2 if they perform better than both people to their sides).

Given a list of employee's performance, find the bonuses each employee should get.

Example:

The rules of giving bonuses is that:

- Each employee begins with a bonus factor of 1x.

- For each employee, if they perform better than the person sitting next to them, the employee is given +1 higher bonus (and up to +2 if they perform better than both people to their sides).

Given a list of employee's performance, find the bonuses each employee should get.

Example:

Input: [1, 2, 3, 2, 3, 5, 1]

Output: [1, 2, 3, 1, 2, 3, 1]

Output: [1, 2, 3, 1, 2, 3, 1]

10. Given a list of integers, return the bounds of
the minimum range that must be sorted so that the whole list would be sorted.

Example:

Example:

Input: [1, 7, 9, 5, 7, 8, 10]

Output: (1, 5)

Output: (1, 5)

Explanation:

The numbers between index 1 and 5 are out of order and need to be sorted.

The numbers between index 1 and 5 are out of order and need to be sorted.

11. Given a Roman numeral, find the corresponding decimal
value. Inputs will be between 1 and 3999.

**Example**:
Input: IX

Output: 9

Input: VII

Output: 7

Input: MCMIV

Output: 1904

Output: 9

Input: VII

Output: 7

Input: MCMIV

Output: 1904

Roman
numerals are based on the following symbols:

I 1

IV 4

V 5

IX 9

X 10

XL 40

L 50

XC 90

C 100

CD 400

D 500

CM 900

M 1000

IV 4

V 5

IX 9

X 10

XL 40

L 50

XC 90

C 100

CD 400

D 500

CM 900

M 1000

Numbers are strings of these symbols in descending order. In
some cases, subtractive notation is used to avoid repeated characters. The
rules are as follows:

1.) I placed before V or X is one less, so 4 = IV (one less than 5), and 9 is IX (one less than 10)

2.) X placed before L or C indicates ten less, so 40 is XL (10 less than 50) and 90 is XC (10 less than 100).

3.) C placed before D or M indicates 100 less, so 400 is CD (100 less than 500), and 900 is CM (100 less than 1000).

1.) I placed before V or X is one less, so 4 = IV (one less than 5), and 9 is IX (one less than 10)

2.) X placed before L or C indicates ten less, so 40 is XL (10 less than 50) and 90 is XC (10 less than 100).

3.) C placed before D or M indicates 100 less, so 400 is CD (100 less than 500), and 900 is CM (100 less than 1000).

12. By the
way, check out our NEW project AlgoPro (http://algopro.com) for
over 60+ video coding sessions with ex-Google/ex-Facebook engineers.

Given an integer, check if that integer is a palindrome. For this problem do not convert the integer to a string to check if it is a palindrome.

Given an integer, check if that integer is a palindrome. For this problem do not convert the integer to a string to check if it is a palindrome.

13. By
the way, check out our NEW project AlgoPro (http://algopro.com) for
over 60+ video coding sessions with ex-Google/ex-Facebook engineers.

Given a string with only ( and ), find the minimum number of characters to add or subtract to fix the string such that the brackets are balanced.

Example:

Given a string with only ( and ), find the minimum number of characters to add or subtract to fix the string such that the brackets are balanced.

Example:

Input: '(()()'

Output: 1

Output: 1

Explanation:

The fixed string could either be ()() by deleting the first bracket, or (()()) by adding a bracket. These are not the only ways of fixing the string, there are many other ways by adding it in different positions!

The fixed string could either be ()() by deleting the first bracket, or (()()) by adding a bracket. These are not the only ways of fixing the string, there are many other ways by adding it in different positions!

14. Given
a list of numbers, find the smallest window to sort such that the whole list
will be sorted. If the list is already sorted return (0, 0). You can assume there will be no duplicate numbers.

Example:

Example:

Input: [2, 4, 7, 5, 6, 8, 9]

Output: (2, 4)

Output: (2, 4)

Explanation: Sorting the window (2, 4) which is [7, 5, 6] will also means that the whole list is sorted.

15. Given a tree,
find if the binary tree is height balanced or not. A height balanced binary
tree is a tree where every node's 2 subtree do not differ in height by more
than 1.

16. Given a binary tree
and an integer k,
filter the binary tree such that its leaves don't contain the value k. Here are the rules:

- If a leaf node has a value of k, remove it.

- If a parent node has a value of k, and all of its children are removed, remove it.

- If a leaf node has a value of k, remove it.

- If a parent node has a value of k, and all of its children are removed, remove it.

17. Given a
linked list, swap the position of the 1st and 2nd node, then swap the position
of the 3rd and 4th node etc.

18. Given 2 strings s and t, find and return all indexes in string s where t is
an anagram.

19.Given a 32-bit integer,
swap the 1st and 2nd bit, 3rd and 4th bit, up til the 31st and 32nd bit.

20. Given a binary search
tree (BST) and a value s, split the BST into 2 trees, where one tree has all values less than or
equal to s, and the other tree has
all values greater than s while
maintaining the tree structure of the original BST. You can assume that s will be one of the node's value in the BST.
Return both tree's root node as a tuple.

21. Given a matrix,
transpose it. Transposing a matrix means the rows are now the column and
vice-versa.

22. Given 3 sorted lists,
find the intersection of those 3 lists.

23. Given a list of
numbers and a target number, find all possible unique subsets of the list of
numbers that sum up to the target number. The numbers will all be positive
numbers.

24. Given a sorted list
with duplicates, and a target number n, find the range in which the number exists
(represented as a tuple (low, high),
both inclusive. If the number does not exist in the list, return (-1,
-1)).

25. You
are the manager of a number of employees who all sit in a row. The CEO would
like to give bonuses to all of your employees, but since the company did not
perform so well this year the CEO would like to keep the bonuses to a minimum.

The rules of giving bonuses is that:

- Each employee begins with a bonus factor of 1x.

- For each employee, if they perform better than the person sitting next to them, the employee is given +1 higher bonus (and up to +2 if they perform better than both people to their sides).

Given a list of employee's performance, find the bonuses each employee should get.

Example:

The rules of giving bonuses is that:

- Each employee begins with a bonus factor of 1x.

- For each employee, if they perform better than the person sitting next to them, the employee is given +1 higher bonus (and up to +2 if they perform better than both people to their sides).

Given a list of employee's performance, find the bonuses each employee should get.

Example:

Input: [1, 2, 3, 2, 3, 5, 1]

Output: [1, 2, 3, 1, 2, 3, 1]

Output: [1, 2, 3, 1, 2, 3, 1]

26. Find all words that
are concatenations of a list.

Input:

["tech", "lead", "techlead", "cat", "cats", "dog", "catsdog"]

Output:

['techlead', 'catsdog']

Input:

["tech", "lead", "techlead", "cat", "cats", "dog", "catsdog"]

Output:

['techlead', 'catsdog']

27. Given a matrix,
transpose it. Transposing a matrix means the rows are now the column and
vice-versa.

28. Given
an array of integers of size n, where all elements are between 1 and n
inclusive, find all of the elements of [1, n] that do not appear in the array.
Some numbers may appear more than once.

**Example**:
Input: [4,5,2,6,8,2,1,5]

Output: [3,7]

Output: [3,7]

29. Given
a string with only ( and ),
find the minimum number of characters to add or subtract to fix the string such
that the brackets are balanced.

Example:

Example:

Input: '(()()'

Output: 1

Output: 1

Explanation:

The fixed string could either be ()() by deleting the first bracket, or (()()) by adding a bracket. These are not the only ways of fixing the string, there are many other ways by adding it in different positions!

The fixed string could either be ()() by deleting the first bracket, or (()()) by adding a bracket. These are not the only ways of fixing the string, there are many other ways by adding it in different positions!

30. Given a list of
numbers and a target number, find all possible unique subsets of the list of
numbers that sum up to the target number. The numbers will all be positive
numbers.

31. Given
a string with the initial condition of dominoes, where:

. represents that the domino is standing still

L represents that the domino is falling to the left side

R represents that the domino is falling to the right side

Figure out the final position of the dominoes. If there are dominoes that get pushed on both ends, the force cancels out and that domino remains upright.

Example:

. represents that the domino is standing still

L represents that the domino is falling to the left side

R represents that the domino is falling to the right side

Figure out the final position of the dominoes. If there are dominoes that get pushed on both ends, the force cancels out and that domino remains upright.

Example:

Input:
..R...L..R.

Output: ..RR.LL..RR

Output: ..RR.LL..RR

32. Given a 32-bit
integer, swap the 1st and 2nd bit, 3rd and 4th bit, up til the 31st and 32nd
bit.323. Hi, here's your problem today. (You've reached the end of the
problems for now - in the meanwhile, here is a random question. And visit CoderPro for more practice!) This problem
was recently asked by AirBNB:

Given two strings A and B of lowercase letters, return true if and only if we can swap two letters in A so that the result equals B.

Example 1:

Given two strings A and B of lowercase letters, return true if and only if we can swap two letters in A so that the result equals B.

Example 1:

Input: A = "ab", B = "ba"

Output: true

Output: true

Example
2:

Input: A = "ab", B = "ab"

Output: false

Example
3:

Input: A = "aa", B = "aa"

Output: true

Output: true

Example
4:

Input: A = "aaaaaaabc", B =
"aaaaaaacb"

Output: true

Output: true

Example
5:

Input: A = "", B = "aa"

Output: false

Output: false

33. Given an array of characters with repeats,
compress it in place. The length after compression should be less than or equal
to the original array.

**Example**:
Input: ['a', 'a', 'b', 'c', 'c', 'c']

Output: ['a', '2', 'b', 'c', '3']

Output: ['a', '2', 'b', 'c', '3']

34. Given an array of integers of size n, where
all elements are between 1 and n inclusive, find all of the elements of [1, n]
that do not appear in the array. Some numbers may appear more than once.

**Example**:
Input: [4,5,2,6,8,2,1,5]

Output: [3,7]

Output: [3,7]

35. Given an array of characters with repeats,
compress it in place. The length after compression should be less than or equal
to the original array.

**Example**:
Input: ['a', 'a', 'b', 'c', 'c', 'c']

Output: ['a', '2', 'b', 'c', '3']

Output: ['a', '2', 'b', 'c', '3']

36. Given an array, nums, of n integers, find all unique triplets (three
numbers, a, b, & c) in nums such
that a + b + c = 0. Note that there may not be any triplets that sum to zero in nums, and that the triplets must not be duplicates.

Example:

Example:

Input: nums = [0, -1, 2, -3, 1]

Output: [0, -1, 1], [2, -3, 1]

Output: [0, -1, 1], [2, -3, 1]

## 0 Comments

Please do not Enter any spam link in the comment box