LCP 50. 宝石补给

文章目录

  • Tag
  • 题目来源
  • 题目解读
  • 解题思路
    • 方法一:模拟
  • 写在最后

Tag

【模拟】【数组】


题目来源

LCP 50. 宝石补给

LCP 50. 宝石补给_第1张图片

题目解读

根据 operations 数组将 x 勇士的一半宝石(向下取整)赠送给 y 勇士,最后输出拥有最多宝石的勇士与拥有最少宝石的勇士手中的 宝石数量之差。


解题思路

方法一:模拟

本题是一道简单题,直接模拟就行。

复杂度分析

时间复杂度: O ( m + n ) O(m+n) O(m+n) m m m 为数组 operations 的长度, n n n 为数组 gem 的长度,虽然我们调用的是 API \texttt{API} API *max_element()*min_element() 来计算数组 gem 中的最大值、最小值,但是时间复杂度依旧是遍历 gem 数组的时间复杂度 O ( n ) O(n) O(n),所以最后的时间复杂度为 O ( m + n ) O(m+n) O(m+n)

空间复杂度: O ( 1 ) O(1) O(1),使用的额外空间仅为有限个变量。

写在最后

如果文章内容有任何错误或者您对文章有任何疑问,欢迎私信博主或者在评论区指出 。

如果大家有更优的时间、空间复杂度方法,欢迎评论区交流。

最后,感谢您的阅读,如果感到有所收获的话可以给博主点一个 哦。

你可能感兴趣的:(LeetCode每日一题,模拟,数组,c++,算法)