1. Given a sorted array, A, with possibly
duplicated elements, find the indices of the first and last occurrences of a
target element, x. Return -1 if the target is not found.
Example:
Example:
Input: A = [1,3,3,5,7,8,9,9,9,15], target = 9
Output: [6,8]
Input: A = [100, 150, 150, 153], target = 150
Output: [1,2]
Input: A = [1,2,3,4,5,6,10], target = 9
Output: [-1, -1]
Output: [6,8]
Input: A = [100, 150, 150, 153], target = 150
Output: [1,2]
Input: A = [1,2,3,4,5,6,10], target = 9
Output: [-1, -1]
2. Given two strings, determine the edit distance between them.
The edit distance is defined as the minimum number of edits (insertion,
deletion, or substitution) needed to change one string to the other.
For example, "biting" and "sitting" have an edit distance of 2 (substitute b for s, and insert a t).
For example, "biting" and "sitting" have an edit distance of 2 (substitute b for s, and insert a t).
3. You are given a singly linked list and an integer k. Return the linked list, removing the k-th last
element from the list.
Try to do it in a single pass and using constant space.
Try to do it in a single pass and using constant space.
4. 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:
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
5. Given a list of words,
group the words that are anagrams of each other. (An anagram are words made up
of the same letters).
Example:
Input: ['abc', 'bcd', 'cba', 'cbd', 'efg']
Output: [['abc', 'cba'], ['bcd', 'cbd'], ['efg']]
Example:
Input: ['abc', 'bcd', 'cba', 'cbd', 'efg']
Output: [['abc', 'cba'], ['bcd', 'cbd'], ['efg']]
6. Given
a sorted list of positive numbers, find the smallest positive number that
cannot be a sum of any subset in the list.
Example:
Example:
Input: [1, 2, 3, 8, 9, 10]
Output: 7
Output: 7
Numbers 1 to 6 can all be summed by a subset of the list of
numbers, but 7 cannot.
7. Given
a non-empty list of words, return the k most frequent words. The output should
be sorted from highest to lowest frequency, and if two words have the same
frequency, the word with lower alphabetical order comes first. Input will
contain only lower-case letters.
Example:
Example:
Input: ["daily",
"interview", "pro", "pro",
"for", "daily", "pro", "problems"], k = 2
Output: ["pro", "daily"]
"for", "daily", "pro", "problems"], k = 2
Output: ["pro", "daily"]
8. We
have a list of tasks to perform, with a cooldown period. We can do multiple of
these at the same time, but we cannot run the same task simultaneously.
Given a list of tasks, find how long it will take to complete the tasks in the order they are input.
Given a list of tasks, find how long it will take to complete the tasks in the order they are input.
tasks = [1, 1, 2, 1]
cooldown = 2
output: 7 (order is 1 _ _ 1 2 _ 1)
cooldown = 2
output: 7 (order is 1 _ _ 1 2 _ 1)
9. Given a linked list and
a number k, rotate the linked list by k places.
10. Given a phone number, return all
valid words that can be created using that phone number.
For instance, given the phone number 364
we can construct the words ['dog', 'fog'].
For instance, given the phone number 364
we can construct the words ['dog', 'fog'].
11. The power function
calculates x raised to the nth power. If implemented in O(n) it would simply be a
for loop over n and
multiply x n times. Instead implement this power function
in O(log n) time. You can
assume that n will be a
non-negative integer.
12. Given a list of sorted
numbers, and two integers k and x, find k closest numbers to the pivot x.
13. Pascal's
Triangle is a triangle where all numbers are the sum of the two numbers above
it. Here's an example of the Pascal's Triangle of size 5.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
Given an integer n, generate the n-th row of the
Pascal's Triangle.
14. A majority element is an element
that appears more than half the time. Given a list with a majority element,
find the majority element.
15. Given a sorted list of
positive numbers, find the smallest positive number that cannot be a sum of any
subset in the list.
16. You are given a singly linked
list and an integer k. Return the linked list, removing the k-th last
element from the list.
Try to do it in a single pass and using constant space.
Try to do it in a single pass and using constant space.
17. Given a phone number, return
all valid words that can be created using that phone number.
For instance, given the phone number 364
we can construct the words ['dog', 'fog'].
For instance, given the phone number 364
we can construct the words ['dog', 'fog'].
18. Given
a sorted array, A, with possibly duplicated elements, find the indices of the
first and last occurrences of a target element, x. Return -1 if the target is
not found.
Example:
Example:
Input: A = [1,3,3,5,7,8,9,9,9,15], target = 9
Output: [6,8]
Input: A = [100, 150, 150, 153], target = 150
Output: [1,2]
Input: A = [1,2,3,4,5,6,10], target = 9
Output: [-1, -1]
Output: [6,8]
Input: A = [100, 150, 150, 153], target = 150
Output: [1,2]
Input: A = [1,2,3,4,5,6,10], target = 9
Output: [-1, -1]
19. Given a phone number,
return all valid words that can be created using that phone number.
For instance, given the phone number 364
we can construct the words ['dog', 'fog'].
For instance, given the phone number 364
we can construct the words ['dog', 'fog'].
0 Comments
Please do not Enter any spam link in the comment box