hihoCoder太阁最新面经算法竞赛2题解 - hihoCoder



hihoCoder太阁最新面经算法竞赛2题解 - hihoCoder

Problem A

很经典的问题。可以证明如下结论:如果最多的时候有X个任务同时进行,那么需要最少的机器数目就是X。 我们可以把所有起止点按时间排序。如果时间相同,那么代表结束的点排在代表开始的点前。 之后按顺序扫描所有起止点。设置一个变量s,遇到开始点+1,遇到结束点-1。扫描过程中s的值就是此时同时进行的任务数目。s的最大值就是答案 。

Problem B

DFS搜索出所有岛屿,同时把每个岛屿包含的像素坐标也保存起来并按照坐标排序。 岛屿数目和面积相同的岛屿数目很容易直接统计得到。 形状相同的岛屿数目我们可以通过逐一比较岛屿的每一个像素得到。当我们比较岛屿x和岛屿y时,如果每对像素的坐标差都相同,那么x和y的形状>就是相同的。

Problem C

我们可以把10进制小数0.X表示成Y / 10^n,其中n是X的位数;例如0.125可以表示成125/1000。然后我们把Y / 10^n化简成最简分数A / B。可以证 明0.X的二进制表示是有限的当且仅当B不包含因子5。 如果B不包含因子5,那B就只包含因子2,不妨设B = 2^m。此时我们把A表示成m位二进制数C(C可能包含前导0),那么0.C就是0.X的二进制表示。


Read full article from hihoCoder太阁最新面经算法竞赛2题解 - hihoCoder


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