3375. 将数组值变为K的最小操作次数

3375. 将数组值变为K的最小操作次数

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

给定一个整数数组和一个整数k,若数组中有元素小于k,则返回-1。否则,计算大于k的不同值的数量,即为将所有元素变为k所需的最小操作次数。

🎯

关键要点

  • 给定一个整数数组和一个整数k,若数组中有元素小于k,则返回-1。
  • 有效整数h的定义是数组中所有大于h的值相同。
  • 操作是选择一个有效的整数h,将所有大于h的元素设置为h。
  • 计算将所有元素变为k所需的最小操作次数。
  • 如果数组中存在小于k的元素,则无法将所有元素变为k,返回-1。
  • 收集所有大于k的不同值,每个不同值代表一次操作。
  • 返回大于k的不同值的数量作为所需的最小操作次数。
  • 该方法的时间复杂度为O(n),n为数组长度。

延伸问答

如何判断是否可以将数组中的所有元素变为k?

如果数组中存在小于k的元素,则无法将所有元素变为k,返回-1。

将数组元素变为k的最小操作次数如何计算?

计算大于k的不同值的数量,每个不同值代表一次操作。

什么是有效整数h?

有效整数h是数组中所有大于h的值相同的整数。

如果数组为[5,2,5,4,5],k为2,最小操作次数是多少?

最小操作次数为2。

时间复杂度是多少?

该方法的时间复杂度为O(n),n为数组长度。

如何收集数组中大于k的不同值?

通过遍历数组,使用哈希表收集所有大于k的不同值。

➡️

继续阅读