今天的题第一眼看的时候心想这不是和昨天的一样吗,还省了排序
附原题传送门H指数II

仔细一看,原来还有时间复杂度的要求,既然省了排序,也就省去了昨天H指数的排序过程,也就是说可以用二分的思想优化到对数时间复杂度,但是如果我们继续用贪心的思想来解决话,虽然是线性时间复杂度,但是实际上可能大部分情况下时间效率是是优于二分法的,而且简单易懂。
话不多说上代码
public int hIndex(int[] citations) {
int count=0;
for (int i = citations.length-1; i >=0; i--) {
if(count>=citations[i]) return count;
count++;
}
return count;
}
本文探讨了一种优化H指数计算的方法,通过避免排序,利用二分查找将时间复杂度降低到对数级别。虽然贪心策略在某些情况下可能效率更高,但二分法提供了更稳定的线性对数时间复杂度解决方案。代码实现中展示了如何用Java实现这个优化的H指数算法。
1287

被折叠的 条评论
为什么被折叠?



