欢迎光临散文网 会员登陆 & 注册

1833. 雪糕的最大数量

2023-02-19 12:15 作者:目标力扣Knight  | 我要投稿

1833. 雪糕的最大数量

方法一:排序 + 贪心

为了获得最多的雪糕数,我们可以从单价最低的开始,耗尽所有的金币,因此先对数组进行排序,从小到大购买雪糕,直到金币耗尽为止;

Python版本

C++版本


复杂度分析

  • 时间复杂度:O(nlogn)。内置排序需要 nlogn 复杂度,遍历整个 costs 数组的复杂度为其长度 n,取较大者即可;

  • 空间复杂度: O(1)。


方法一:排序 + 贪心

为了获得最多的雪糕数,我们可以从单价最低的开始,耗尽所有的金币,因此先对数组进行排序,从小到大购买雪糕,直到金币耗尽为止;

Python版本


C++版本


复杂度分析

  • 时间复杂度:O(n)。n 为 costs 元素值域上限。

  • 空间复杂度: O(n)。n 为 costs 元素值域上限。

备注

  1. 哈希数组的两种声明方式

    1. int excel[100001] = {0};

    2. vector<int> excel(100001, 0);

  2. 使用STL vector 申请数组空间时,括号内的参数分别是数量[scale], 和值,两个位置交换会导致报错空指针,计数数组用普通数组实现,比较能避坑,此处仅做一个简单的哈希表;


1833. 雪糕的最大数量的评论 (共 条)

分享到微博请遵守国家法律