Design
文章平均质量分 82
zshouyi
这个作者很懒,什么都没留下…
展开
-
170. Two Sum III - Data structure design
Design and implement a TwoSum class. It should support the following operations: add and find.add - Add the number to an internal data structure.find - Find if there exists any pair of numbers w原创 2017-01-07 08:25:18 · 268 阅读 · 0 评论 -
341. Flatten Nested List Iterator
Given a nested list of integers, implement an iterator to flatten it.Each element is either an integer, or a list -- whose elements may also be integers or other lists.Example 1:Given the li原创 2017-05-15 14:04:13 · 238 阅读 · 0 评论 -
284. Peeking Iterator
Given an Iterator class interface with methods: next() and hasNext(), design and implement a PeekingIterator that support the peek()operation -- it essentially peek() at the element that will be r原创 2017-06-16 01:48:05 · 320 阅读 · 0 评论 -
251. Flatten 2D Vector
Implement an iterator to flatten a 2d vector.For example,Given 2d vector = [ [1,2], [3], [4,5,6]]By calling next repeatedly until hasNext returns false, the order of elements r原创 2017-06-16 03:18:53 · 309 阅读 · 0 评论 -
362. Design Hit Counter
Design a hit counter which counts the number of hits received in the past 5 minutes.Each function accepts a timestamp parameter (in seconds granularity) and you may assume that calls are being mad原创 2017-06-16 09:16:45 · 345 阅读 · 0 评论 -
348. Design Tic-Tac-Toe
Design a Tic-tac-toe game that is played between two players on a n x n grid.You may assume the following rules:A move is guaranteed to be valid and is placed on an empty block.Once a winning原创 2017-06-16 11:43:13 · 334 阅读 · 0 评论 -
379. Design Phone Directory
Design a Phone Directory which supports the following operations:get: Provide a number which is not assigned to anyone.check: Check if a number is available or not.release: Recycle or release原创 2017-06-16 14:54:07 · 374 阅读 · 0 评论 -
353. Design Snake Game
Design a Snake game that is played on a device with screen size = width x height. Play the game online if you are not familiar with the game.The snake is initially positioned at the top left cor原创 2017-06-16 16:41:06 · 636 阅读 · 0 评论 -
604. Design Compressed String Iterator
Design and implement a data structure for a compressed string iterator. It should support the following operations: next and hasNext.The given compressed string will be in the form of each letter原创 2017-06-17 02:05:11 · 507 阅读 · 0 评论 -
146. LRU Cache
Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and put.get(key) - Get the value (will always be positive) of the key i原创 2017-06-19 12:38:16 · 402 阅读 · 0 评论 -
211. Add and Search Word - Data structure design
Design a data structure that supports the following two operations:void addWord(word)bool search(word)search(word) can search a literal word or a regular expression string containing only lett原创 2017-05-14 07:44:04 · 341 阅读 · 0 评论 -
208. Implement Trie (Prefix Tree)
Implement a trie with insert, search, and startsWith methods.Note:You may assume that all inputs are consist of lowercase letters a-z.设计一个单词搜索树,这里每一个node下面有26个子node,以下一个字母为索引进行保存和查询。代码如下:c原创 2017-05-14 07:07:16 · 251 阅读 · 0 评论 -
355. Design Twitter
Design a simplified version of Twitter where users can post tweets, follow/unfollow another user and is able to see the 10 most recent tweets in the user's news feed. Your design should support the fo原创 2017-03-11 10:07:27 · 260 阅读 · 0 评论 -
288. Unique Word Abbreviation
An abbreviation of a word follows the form . Below are some examples of word abbreviations:a) it --> it (no abbreviation) 1b) d|o|g --> d1g原创 2017-01-07 09:31:58 · 459 阅读 · 0 评论 -
359. Logger Rate Limiter
Design a logger system that receive stream of messages along with its timestamps, each message should be printed if and only if it is not printed in the last 10 seconds.Given a message and a times原创 2017-01-07 15:11:49 · 426 阅读 · 0 评论 -
244. Shortest Word Distance II
This is a follow up of Shortest Word Distance. The only difference is now you are given the list of words and your method will be called repeatedly many times with different parameters. How would yo原创 2017-01-09 07:50:12 · 225 阅读 · 0 评论 -
346. Moving Average from Data Stream
Given a stream of integers and a window size, calculate the moving average of all integers in the sliding window.For example,MovingAverage m = new MovingAverage(3);m.next(1) = 1m.next(10) =原创 2017-02-11 09:15:35 · 636 阅读 · 0 评论 -
380. Insert Delete GetRandom O(1)
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 t原创 2017-03-02 07:35:55 · 313 阅读 · 0 评论 -
381. Insert Delete GetRandom O(1) - Duplicates allowed
Design a data structure that supports all following operations in average O(1) time.Note: Duplicate elements are allowed.insert(val): Inserts an item val to the collection.remove(val): Remov原创 2017-03-02 09:51:48 · 260 阅读 · 0 评论 -
155. Min Stack
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.push(x) -- Push element x onto stack.pop() -- Removes the element on top of the stack.top() -- Get原创 2017-01-26 12:25:07 · 177 阅读 · 0 评论 -
232. Implement Queue using Stacks
Implement the following operations of a queue using stacks.push(x) -- Push element x to the back of queue.pop() -- Removes the element from in front of queue.peek() -- Get the front element.empty(原创 2017-01-26 12:53:11 · 319 阅读 · 0 评论 -
225. Implement Stack using Queues
Implement the following operations of a stack using queues.push(x) -- Push element x onto stack.pop() -- Removes the element on top of the stack.top() -- Get the top element.empty() -- Return whet原创 2017-01-26 13:31:20 · 164 阅读 · 0 评论 -
281. Zigzag Iterator
Given two 1d vectors, implement an iterator to return their elements alternately.For example, given two 1d vectors:v1 = [1, 2]v2 = [3, 4, 5, 6]By calling next repeatedly until hasNext原创 2017-06-15 15:29:30 · 315 阅读 · 0 评论