韩顺平讲的贪心算法81行代码是错的,简单来说,比较的长度应该是上一次广播能覆盖的地区,而不应该直接从数据库里调,调出来的地区不一定是能覆盖的,把81行代码改成:
if (tempSet.size() > 0 && (maxKey == null || tempSet.size() > sum))
这个sum需要声明在for循环外面,int型。
判断体写成:
//如果当前这个集合包含的未覆盖的地区的数量 if (tempSet.size() > 0 && (maxKey == null || tempSet.size() > sum)) { //新来的电台能覆盖的数量大于了上一次循环来的电台能覆盖的数量 maxKey = key; sum = tempSet.size(); }
原文:https://www.cnblogs.com/LostSecretGarden/p/14772663.html