Skip to content

Commit

Permalink
Update Readme.md
Browse files Browse the repository at this point in the history
  • Loading branch information
wisdompeak authored Dec 4, 2019
1 parent aec8d0e commit 1a343a2
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions Greedy/881.Boats-to-Save-People/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,8 @@
假设当前最重的小胖的体重是x,那么对于x的值我们可以从limit开始往下猜,一旦发现p[x]>0,说明我们找到了这个最重的人。那么如何寻找x的最合理队友呢?我们可以从体重y=limit-x开始往下猜,一旦发现p[y]>0,就说明我们找到了最适合与x配对的小瘦(其体重为y)。记得每次配对之后,我们都需要及时更新计数器p[x]-- and/or p[y]--.

这种解法最大的雷区在于:如果遇到了```x==y```的情况,说明小胖和小瘦的体重相同,那么对于小胖的处理次数就不是原先的p[x]了,而是需要及时减去一才对。

#### 解法3:
可以将解法1的松弛贪心思想,以及解法2桶排序的思想结合起来。

假设当前最重的小胖的体重是x,那么对于x的值我们可以从limit开始往下猜,一旦发现p[x]>0,说明我们找到了这个最重的人。同时我们寻找当前最轻的小瘦,假设其体重为y,对于y的值我们可以从1开始往上猜,一旦发现p[y]>0,说明我们找到了当前最轻的人。对于每个小胖我们都试图寻找当前最轻的小瘦,如果符合```x+y<0 && p[y]>0```就说明存在它可以与小胖同船。

0 comments on commit 1a343a2

Please sign in to comment.