Jun 16, 2020 08:25:30 AM
https://leetcode.com/problems/serializeanddeserializebinarytree/
Serialization is the process of converting a data structure or object into a sequence of bits so that it can be stored in a file or memory buffer, or transmitted across a network connection link to be reconstructed later in the same or another computer environment.
Design an algorithm to serialize and deserialize a binary tree. There is no restriction on how your serialization/deserialization algorithm should work. You just need to ensure that a binary tree can be serialized to a string and this string can be deserialized to the original tree structure.
Example:
You may serialize the following tree:
1
/ \
2 3
/ \
4 5
as "[1,2,3,null,null,4,5]"
Tags: Algorithm BFS Golang tree
Posted in 算法  7 Comments
Jun 16, 2020 06:30:02 AM
https://leetcode.com/problems/findmedianfromdatastream/
Median is the middle value in an ordered integer list. If the size of the list is even, there is no middle value. So the median is the mean of the two middle value.
For example,
[2,3,4]
, the median is 3
[2,3]
, the median is (2 + 3) / 2 = 2.5
Design a data structure that supports the following two operations:

void addNum(int num)  Add a integer number from the data stream to the data structure.

double findMedian()  Return the median of all elements so far.
Example:
addNum(1)
addNum(2)
findMedian() > 1.5
addNum(3)
findMedian() > 2
Tags: Algorithm Golang Heap
Posted in 算法  0 Comments
Jun 16, 2020 02:26:16 AM
https://leetcode.com/problems/besttimetobuyandsellstockiv/
Say you have an array for which the ith element is the price of a given stock on day i.
Design an algorithm to find the maximum profit. You may complete at most k transactions.
Note:
You may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).
Example 1:
Input: [2,4,1], k = 2
Output: 2
Explanation: Buy on day 1 (price = 2) and sell on day 2 (price = 4), profit = 42 = 2.
Tags: Algorithm DP Golang
Posted in 算法  0 Comments
Jun 16, 2020 01:37:41 AM
Say you have an array for which the i^{th} element is the price of a given stock on day i.
Design an algorithm to find the maximum profit. You may complete at most two transactions.
Note: You may not engage in multiple transactions at the same time (i.e., you must sell the stock before you buy again).
Example 1:
Input: [3,3,5,0,0,3,1,4]
Output: 6
Explanation: Buy on day 4 (price = 0) and sell on day 6 (price = 3), profit = 30 = 3.
Then buy on day 7 (price = 1) and sell on day 8 (price = 4), profit = 41 = 3.
Tags: Algorithm DP Golang
Posted in 算法  0 Comments
Jun 13, 2020 07:19:28 AM
https://leetcode.com/problems/insertdeletegetrandomo1/
Design a data structure that supports all following operations in average O(1) time.

insert(val)
: Inserts an item val to the set if not already present.

remove(val)
: Removes an item val from the set if present.

getRandom
: Returns a random element from current set of elements. Each element must have the same probability of being returned.
Example:
// Init an empty set.
RandomizedSet randomSet = new RandomizedSet();
// Inserts 1 to the set. Returns true as 1 was inserted successfully.
randomSet.insert(1);
// Returns false as 2 does not exist in the set.
randomSet.remove(2);
// Inserts 2 to the set, returns true. Set now contains [1,2].
randomSet.insert(2);
// getRandom should return either 1 or 2 randomly.
randomSet.getRandom();
// Removes 1 from the set, returns true. Set now contains [2].
randomSet.remove(1);
// 2 was already in the set, so return false.
randomSet.insert(2);
// Since 2 is the only number in the set, getRandom always return 2.
randomSet.getRandom();
Tags: Algorithm Golang hash
Posted in 算法  0 Comments
Jun 11, 2020 01:01:50 AM
https://leetcode.com/problems/searchinsertposition/
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
You may assume no duplicates in the array.
Example 1:
Input: [1,3,5,6], 5
Output: 2
Tags: Algorithm Golang BinarySearch
Posted in 算法  0 Comments
Jun 10, 2020 05:55:33 AM
https://leetcode.com/problems/lettercombinationsofaphonenumber/
Given a string containing digits from 29
inclusive, return all possible letter combinations that the number could represent.
A mapping of digit to letters (just like on the telephone buttons) is given below. Note that 1 does not map to any letters.
Tags: Algorithm Golang Recursive
Posted in 算法  0 Comments
Jun 09, 2020 03:11:18 AM
https://leetcode.com/problems/symmetrictree/
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
For example, this binary tree [1,2,2,3,4,4,3]
is symmetric:
1
/ \
2 2
/ \ / \
3 4 4 3
Tags: Algorithm Golang tree
Posted in 算法  2 Comments
Jun 09, 2020 12:38:52 AM
https://leetcode.com/problems/poweroffour/
Given an integer (signed 32 bits), write a function to check whether it is a power of 4.
Example 1:
Input: 16
Output: true
Tags: Algorithm Golang math
Posted in 算法  2 Comments
Jun 09, 2020 12:37:47 AM
https://leetcode.com/problems/powerofthree/
Given an integer, write a function to determine if it is a power of three.
Example 1:
Input: 27
Output: true
Example 2:
Input: 0
Output: false
Tags: Algorithm Golang math
Posted in 算法  1 Comments