Pocket Gem OA: Log Parser - neverlandly - 博客园



Pocket Gem OA: Log Parser - neverlandly - 博客园

time a given player spends actually connected to the  network.  We keep console logs of various game subsystems for each play session. Each log message  has the following format:  (MM/dd/yyyy-hh:mm:ss) :: [message logged]  Sample log lines:  (11/12/2015-02:34:56) :: START  (01/02/1990-13:10:00) :: DISCONNECTED  (03/13/2018-21:01:01) :: ERROR - File "close.png" not found.  Log messages that pertain to network connectivity are as follows:  START : Logged when the game starts up.  CONNECTED : Logged when a network connection is established.  DISCONNECTED : Logged when network connection is lost.  SHUTDOWN : Logged when the player is quitting the game.  A player's session length is the amount of time between the START and SHUTDOWN  messages.  A player's connected time is the amount of time they spend in a connected state. A player starts  the game disconnected, becomes connected when we log a CONNECTED message, and  becomes disconnected when we log a DISCONNECTED message.  You can make the following assumptions:  All logs will be properly formatted  All dates will be valid  No log message will stretch across multiple lines  All log files will be ordered chronologically  There will always be exactly one START and exactly one SHUTDOWN event logged  Input  A file containing lines of log messages.  Output  The connectivity percentage as a string, rounded down to an integer.  Examples  (01/01/2000-01:00:00) :: START  (01/01/2000-01:01:00) :: CONNECTED  (01/01/2000-01:21:00) :: DISCONNECTED  (01/01/2000-01:50:00) :: SHUTDOWN  The player spent 20 minutes out of 50 connected, 20 / 50 = 0.4, output should be "40%"  (02/03/2002-14:00:00) :: START  (02/03/2002-14:00:00) :: CONNECTED  (02/03/2002-14:08:00) :: DISCONNECTED  (02/03/2002-14:10:00) :: CONNECTED  (02/03/2002-14:15:00) :: SHUTDOWN  The player spent 13 minutes out of 15 connected, 13 / 15 = 0.8667, output should be "86%"  More sample input can be found in the text files input_1.txt, input_2.txt, and input_3.txt
复制代码
复制代码
有事游戏中有Log用于记录各种状态,想知道究竟用户连接的时间是多少。状态除了START, CONNECTED, DISCONNECTED, SHUTDONW外还有ERROR啥的,但是只需要关注前四个。  输入形式: vector<string> lines  (11/01/2015-04:00:00) :: START  (11/01/2015-04:00:00) :: CONNECTED  (11/01/2015-04:30:00) :: DISCONNECTED  (11/01/2015-04:45:00) :: CONNECTED  (11/01/2015-05:00:00) :: SHUTDOWN

Read full article from Pocket Gem OA: Log Parser - neverlandly - 博客园


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts