Daily Coding Problem
https://www.dailycodingproblem.com/
这个是朋友拿这里的题问我然后我就顺便订阅了,大概操作是每天发一道面试题给你。
看了一下之后打算每天就算强迫自己做一道题吧……就开了个Git库记录。
https://github.com/Birdy-C/DailyCodingProblem
但是发现很多都是leetcode上有的,所以很多直接附leetcode链接了。
github上更新的应该会快一点。
文章目录
1 [Eazy]
This problem was recently asked by Google.
Given a list of numbers and a number k, return whether any two numbers from the list add up to k.
For example, given [10, 15, 3, 7] and k of 17, return true since 10 + 7 is 17.
Bonus: Can you do this in one pass?
HINT. https://leetcode.com/problems/two-sum/
2 [Hard]
This problem was asked by Uber.
Given an array of integers, return a new array such that each element at index i of the new array is the product of all the numbers in the original array except the one at i.
For example, if our input was [1, 2, 3, 4, 5], the expected output would be [120, 60, 40, 30, 24]. If our input was [3, 2, 1], the expected output would be [2, 3, 6].
HINT. https://leetcode.com/problems/product-of-array-except-self/
3 [Medium]
This problem was asked by Google.
Given the root to a binary tree, implement serialize(root)
, which serializes the tree into a string, and deserialize(s)
, which deserializes the string back into the tree.
For example, given the following Node
class
class Node:
def __init__(self, val, left=None, right=None):
self.val = val
self.left = left
self.right = right
The following test should pass:
node = Node('root', Node('left', Node('left.left')), Node('right'))
assert deserialize(serialize(node)).left.left.val == 'left.left'
</