Posts

Leetcode - 6. ZigZag Conversion

6. ZigZag Conversion Medium 2171 5481 Add to List Share The string  "PAYPALISHIRING"  is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) P A H N A P L S I I G Y I R And then read line by line:  "PAHNAPLSIIGYIR" Write the code that will take a string and make this conversion given a number of rows: string convert(string s, int numRows);   Example 1: Input: s = "PAYPALISHIRING", numRows = 3 Output: "PAHNAPLSIIGYIR" Example 2: Input: s = "PAYPALISHIRING", numRows = 4 Output: "PINALSIGYAHRPI" Explanation: P I N A L S I G Y A H R P I Example 3: Input: s = "A", numRows = 1 Output: "A" Solution :  numRows will keep our base structure by using multiple numRows time. we can keep an output array :  output = [""] * numrows means output will be = [ " " ,"...
Image
  Google Docs High-Level System design Multiple users work on the same copy of the document. The document could be text, rich text, painting, drawing. Let multiple users collaborate on the same copy of the document. Functional Requirement Users can change a document at the same time without any conflict Users can give permission(view, editor) for a document Users can make import and export a document A user can add a comment to the document Could be a notification (Email, GCM notification) Design Constraint Concurrency : A lot of people are working on the same document Latency : People are working in different places and they connect throughout the internet, so there is a latency between each and every know clients or users when they are sharing the same document. 200M User, Daily active % 10 = 20M User  Average 1 MB usage  ~ 1MB x 20M user = 20 BP per day usage Google Docs users get a lot of storage space with their accounts, but it's not unlimited. Each account can ha...