1. You are given a 2D array of characters, and a target string.
Return whether or not the word target word exists in the matrix. Unlike a
standard word search, the word must be either going left-to-right, or
top-to-bottom in the matrix.
Example:
Example:
[['F', 'A', 'C', 'I'],
['O', 'B', 'Q', 'P'],
['A', 'N', 'O', 'B'],
['M', 'A', 'S', 'S']]
['O', 'B', 'Q', 'P'],
['A', 'N', 'O', 'B'],
['M', 'A', 'S', 'S']]
Given this matrix, and the target word FOAM, you should return true, as it can be found going up-to-down in the first column.
2. 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.
Example:
Example:
Input: s = 7, nums = [2,3,1,2,4,3]
Output: 2
Output: 2
Explanation: the subarray [4,3] has the minimal
length under the problem constraint.
3. You are given a 2D array of integers. Print out the clockwise
spiral traversal of the matrix.
Example:
Example:
grid = [[1,
2, 3, 4,
5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20]]
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20]]
The clockwise spiral traversal of this array is:
1, 2, 3, 4, 5, 10, 15, 20, 19, 18, 17, 16, 11, 6, 7, 8, 9, 14, 13, 12
4. Hi,
here's your problem today. This problem was recently asked by Amazon:
Given a binary tree, return all values given a certain height h.
Given a binary tree, return all values given a certain height h.
5. You
are given a string s, and an integer k. Return the length of the longest substring in s that contains at most k distinct characters.
For instance, given the string:
aabcdefff and k = 3, then the longest substring with 3 distinct characters would be defff. The answer should be 5.
For instance, given the string:
aabcdefff and k = 3, then the longest substring with 3 distinct characters would be defff. The answer should be 5.
6. You are given an array of integers. Return an array of the
same size where the element at each index is the product of all the elements in
the original array except for the element at that index.
For example, an input of [1, 2, 3, 4, 5] should return [120, 60, 40, 30, 24].
You cannot use division in this problem.
For example, an input of [1, 2, 3, 4, 5] should return [120, 60, 40, 30, 24].
You cannot use division in this problem.
7. Given two arrays, write a function to compute their
intersection - the intersection means the numbers that are in both arrays.
Example 1:
Example 1:
Input: nums1 = [1,2,2,1], nums2 = [2,2]
Output: [2]
Output: [2]
Example 2:
Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
Output: [9,4]
Output: [9,4]
Note:Each
element in the result must be unique.
The result can be in any order.
The result can be in any order.
8. The h-index is a metric that attempts to measure the
productivity and citation impact of the publication of a scholar. The
definition of the h-index is if a scholar has at least h of
their papers cited h times.
Given a list of publications of the number of citations a scholar has, find their h-index.
Example:
Given a list of publications of the number of citations a scholar has, find their h-index.
Example:
Input: [3, 5, 0, 1, 3]
Output: 3
Output: 3
Explanation:
There are 3 publications with 3 or more citations, hence the h-index is 3.
There are 3 publications with 3 or more citations, hence the h-index is 3.
9. You are given an array of integers.
Return the length of the longest consecutive elements sequence in the array.
For example, the input array [100, 4, 200, 1, 3, 2] has the longest consecutive sequence 1, 2, 3, 4, and thus, you should return its length, 4.
For example, the input array [100, 4, 200, 1, 3, 2] has the longest consecutive sequence 1, 2, 3, 4, and thus, you should return its length, 4.
10. You are given an array of integers.
Return the length of the longest consecutive elements sequence in the array.
For example, the input array [100, 4, 200, 1, 3, 2] has the longest consecutive sequence 1, 2, 3, 4, and thus, you should return its length, 4.
For example, the input array [100, 4, 200, 1, 3, 2] has the longest consecutive sequence 1, 2, 3, 4, and thus, you should return its length, 4.
11. You are given an array of integers,
and an integer K. Return the subarray which sums to K. You can assume that a
solution will always exist.
12. Version numbers are strings that are used to identify unique
states of software products. A version number is in the format a.b.c.d. and so
on where a, b, etc. are numeric strings separated by dots. These generally
represent a hierarchy from major to minor changes. Given two version
numbers version1 and version2, conclude which is the latest version number. Your code should do the
following:
If version1 > version2 return 1.
If version1 < version2 return -1.
Otherwise return 0.
Note that the numeric strings such as a, b, c, d, etc. may have leading zeroes, and that the version strings do not start or end with dots. Unspecified level revision numbers default to 0.
Example:
If version1 > version2 return 1.
If version1 < version2 return -1.
Otherwise return 0.
Note that the numeric strings such as a, b, c, d, etc. may have leading zeroes, and that the version strings do not start or end with dots. Unspecified level revision numbers default to 0.
Example:
Input:
version1 = "1.0.33"
version2 = "1.0.27"
Output: 1
#version1 > version2
Input:
version1 = "0.1"
version2 = "1.1"
Output: -1
#version1 < version2
Input:
version1 = "1.01"
version2 = "1.001"
Output: 0
#ignore leading zeroes, 01 and 001 represent the same number.
Input:
version1 = "1.0"
version2 = "1.0.0"
Output: 0
#version1 does not have a 3rd level revision number, which
defaults to "0"
version1 = "1.0.33"
version2 = "1.0.27"
Output: 1
#version1 > version2
Input:
version1 = "0.1"
version2 = "1.1"
Output: -1
#version1 < version2
Input:
version1 = "1.01"
version2 = "1.001"
Output: 0
#ignore leading zeroes, 01 and 001 represent the same number.
Input:
version1 = "1.0"
version2 = "1.0.0"
Output: 0
#version1 does not have a 3rd level revision number, which
defaults to "0"
13. MS Excel column titles have the following pattern: A, B, C,
..., Z, AA, AB, ..., AZ, BA, BB, ..., ZZ, AAA, AAB, ... etc. In other words,
column 1 is named "A", column 2 is "B", column 26 is
"Z", column 27 is "AA" and so forth. Given a positive
integer, find its corresponding column name.
Examples:
Examples:
Input: 26
Output: Z
Input: 51
Output: AY
Input: 52
Output: AZ
Input: 676
Output: YZ
Input: 702
Output: ZZ
Input: 704
Output: AAB
Output: Z
Input: 51
Output: AY
Input: 52
Output: AZ
Input: 676
Output: YZ
Input: 702
Output: ZZ
Input: 704
Output: AAB
14. Given a binary tree and a given node
value, return all of the node's cousins. Two nodes are considered cousins if
they are on the same level of the tree with different parents. You can assume
that all nodes will have their own unique value.
15. Given a number n, generate all binary search trees that can be
constructed with nodes 1 to n.
16. Given a 32 bit integer, reverse the bits and return that
number.
Example:
Example:
Input: 1234
# In bits this would be 0000 0000 0000 0000 0000 0100 1101 0010
Output: 1260388352
# Reversed bits is 0100 1011 0010 0000 0000 0000 0000 0000
# In bits this would be 0000 0000 0000 0000 0000 0100 1101 0010
Output: 1260388352
# Reversed bits is 0100 1011 0010 0000 0000 0000 0000 0000
17. Given a string, return the first recurring letter that
appears. If there are no recurring letters, return None.
Example:
Example:
Input: qwertty
Output: t
Input: qwerty
Output: None
Output: t
Input: qwerty
Output: None
18.Given a string that may represent a number, determine if it
is a number. Here's some of examples of how the number may be presented:
"123" # Integer
"12.3" # Floating point
"-123" # Negative numbers
"-.3" # Negative floating point
"1.5e5" # Scientific notation
"12.3" # Floating point
"-123" # Negative numbers
"-.3" # Negative floating point
"1.5e5" # Scientific notation
19. Given a 2d n
x m matrix where each cell has a certain
amount of change on the floor, your goal is to start from the top left
corner mat[0][0] and end in the
bottom right corner mat[n - 1][m - 1] with
the most amount of change. You can only move either left or down.
20. A task is a some work to be done
which can be assumed takes 1 unit of time. Between the same type of tasks you
must take at least n units of time before running the same tasks again.
Given a list of tasks (each task will be represented by a string), and a positive integer n representing the time it takes to run the same task again, find the minimum amount of time needed to run all tasks.
Given a list of tasks (each task will be represented by a string), and a positive integer n representing the time it takes to run the same task again, find the minimum amount of time needed to run all tasks.
21. Given a sorted linked list of
integers, remove all the duplicate elements in the linked list so that all
elements in the linked list are unique.
22. Given a positive integer n, find all primes less than n.
23. Given a non-negative integer n, convert the integer to hexadecimal and return the
result as a string. Hexadecimal is a base 16 representation of a number, where
the digits are 0123456789ABCDEF. Do
not use any builtin base conversion functions like hex.
24. Given a matrix, transpose it.
Transposing a matrix means the rows are now the column and vice-versa.
25. Given an integer, reverse the
digits. Do not convert the integer into a string and reverse it.
26. Given an integer, convert the integer to a roman numeral.
You can assume the input will be between 1 to 3999.
The rules for roman numerals are as following:
There are 7 symbols, which correspond to the following values.
The rules for roman numerals are as following:
There are 7 symbols, which correspond to the following values.
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
V 5
X 10
L 50
C 100
D 500
M 1000
The
value of a roman numeral are the digits added together. For example the roman
numeral 'XX' is V +
V = 10 + 10 = 20. Typically the digits are
listed from largest to smallest, so X should
always come before I. Thus the
largest possible digits should be used first before the smaller digits (so to
represent 50, instead of XXXXX, we should use L).
There are a couple special exceptions to the above rule.
To represent 4, we should use IV instead of IIII. Notice that I comes before V.
To represent 9, we should use IX instead of VIIII.
To represent 40, we should use XL instead of XXXX.
To represent 90, we should use XC instead of LXXXX.
To represent 400, we should use CD instead of CCCC.
To represent 900, we should use CM instead of DCCCC.
There are a couple special exceptions to the above rule.
To represent 4, we should use IV instead of IIII. Notice that I comes before V.
To represent 9, we should use IX instead of VIIII.
To represent 40, we should use XL instead of XXXX.
To represent 90, we should use XC instead of LXXXX.
To represent 400, we should use CD instead of CCCC.
To represent 900, we should use CM instead of DCCCC.
27. Given a binary tree, flatten the
binary tree using inorder traversal. Instead of creating a new list, reuse the
nodes, where the list is represented by following each right child. As such the
root should always be the first element in the list so you do not need to
return anything in the implementation, just rearrange the nodes such that
following the right child will give us the list.
28. Given a string that may represent a number, determine if it
is a number. Here's some of examples of how the number may be presented:
"123" # Integer
"12.3" # Floating point
"-123" # Negative numbers
"-.3" # Negative floating point
"1.5e5" # Scientific notation
"12.3" # Floating point
"-123" # Negative numbers
"-.3" # Negative floating point
"1.5e5" # Scientific notation
Here's some
examples of what isn't a proper number:
"12a" # No letters
"1 2" # No space between numbers
"1e1.2" # Exponent can only be an integer (positive or negative or 0)
"1 2" # No space between numbers
"1e1.2" # Exponent can only be an integer (positive or negative or 0)
Scientific
notation requires the first number to be less than 10, however to simplify the
solution assume the first number can be greater than 10. Do not parse the
string with int() or any other python functions.
29.
Given an integer, convert the integer to a roman numeral. You can assume the
input will be between 1 to 3999.
The rules for roman numerals are as following:
There are 7 symbols, which correspond to the following values.
The rules for roman numerals are as following:
There are 7 symbols, which correspond to the following values.
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
V 5
X 10
L 50
C 100
D 500
M 1000
The value of a roman numeral are the
digits added together. For example the roman numeral 'XX' is V + V = 10 +
10 = 20. Typically the digits are listed from largest to smallest, so X should
always come before I. Thus the largest possible digits should be used
first before the smaller digits (so to represent 50, instead of XXXXX,
we should use L).
There are a couple special exceptions to the above rule.
To represent 4, we should use IV instead of IIII. Notice that I comes before V.
To represent 9, we should use IX instead of VIIII.
To represent 40, we should use XL instead of XXXX.
To represent 90, we should use XC instead of LXXXX.
To represent 400, we should use CD instead of CCCC.
To represent 900, we should use CM instead of DCCCC.
There are a couple special exceptions to the above rule.
To represent 4, we should use IV instead of IIII. Notice that I comes before V.
To represent 9, we should use IX instead of VIIII.
To represent 40, we should use XL instead of XXXX.
To represent 90, we should use XC instead of LXXXX.
To represent 400, we should use CD instead of CCCC.
To represent 900, we should use CM instead of DCCCC.
30. You are given a 2D array of characters, and a target string.
Return whether or not the word target word exists in the matrix. Unlike a
standard word search, the word must be either going left-to-right, or
top-to-bottom in the matrix.
Example:
Example:
[['F', 'A', 'C', 'I'],
['O', 'B', 'Q', 'P'],
['A', 'N', 'O', 'B'],
['M', 'A', 'S', 'S']]
['O', 'B', 'Q', 'P'],
['A', 'N', 'O', 'B'],
['M', 'A', 'S', 'S']]
Given this matrix, and the target word FOAM, you should return true, as it can be found going up-to-down in the first column.
31. Given an integer, reverse the
digits. Do not convert the integer into a string and reverse it.
32. You are given an array of integers.
Return an array of the same size where the element at each index is the product
of all the elements in the original array except for the element at that index.
For example, an input of [1, 2, 3, 4, 5] should return [120, 60, 40, 30, 24].
You cannot use division in this problem.
For example, an input of [1, 2, 3, 4, 5] should return [120, 60, 40, 30, 24].
You cannot use division in this problem.
33. Given a non-negative integer n, convert the integer to
hexadecimal and return the result as a string. Hexadecimal is a base 16 representation
of a number, where the digits are 0123456789ABCDEF. Do not use any builtin base conversion functions
like hex.
34. Given a binary tree and a given node
value, return all of the node's cousins. Two nodes are considered cousins if
they are on the same level of the tree with different parents. You can assume
that all nodes will have their own unique value.
35. You are given a 2D array of characters, and a target string.
Return whether or not the word target word exists in the matrix. Unlike a standard
word search, the word must be either going left-to-right, or top-to-bottom in
the matrix.
Example:
Example:
[['F', 'A', 'C', 'I'],
['O', 'B', 'Q', 'P'],
['A', 'N', 'O', 'B'],
['M', 'A', 'S', 'S']]
['O', 'B', 'Q', 'P'],
['A', 'N', 'O', 'B'],
['M', 'A', 'S', 'S']]
Given this matrix, and the target word FOAM, you should return true, as it can be found going up-to-down in the first column.
36. Given a binary tree,
flatten the binary tree using inorder traversal. Instead of creating a new
list, reuse the nodes, where the list is represented by following each right
child. As such the root should always be the first element in the list so you
do not need to return anything in the implementation, just rearrange the nodes
such that following the right child will give us the list.
37. Given a sorted linked
list of integers, remove all the duplicate elements in the linked list so that
all elements in the linked list are unique.
38. Given a non-negative
integer n, convert the integer to
hexadecimal and return the result as a string. Hexadecimal is a base 16
representation of a number, where the digits are 0123456789ABCDEF. Do not use any builtin base conversion functions
like hex.
0 Comments
Please do not Enter any spam link in the comment box