算法----K 和数对的最大数目

题目

给你一个整数数组 nums 和一个整数 k 。

每一步操作中,你需要从数组中选出和为 k 的两个整数,并将它们移出数组。

返回你可以对数组执行的最大操作数。

示例 1:

输入:nums = [1,2,3,4], k = 5
输出:2
解释:开始时 nums = [1,2,3,4]:

  • 移出 1 和 4 ,之后 nums = [2,3]
  • 移出 2 和 3 ,之后 nums = []
    不再有和为 5 的数对,因此最多执行 2 次操作。
    示例 2:

输入:nums = [3,1,3,4,3], k = 6
输出:1
解释:开始时 nums = [3,1,3,4,3]:

  • 移出前两个 3 ,之后nums = [1,4,3]
    不再有和为 6 的数对,因此最多执行 1 次操作。

提示:

1 <= nums.length <= 105
1 <= nums[i] <= 109
1 <= k <= 109

解决思路

其实就是看有几对和为K 那这样的话 用Map吧 记录每个数的个数 然后计算
has 确实算是个方法 不用排序了

解决方法

    fun maxOperations(nums: IntArray, k: Int): Int {
   
        var map = mutableMapOf<Int, Int>()
        var result = 0
        nums.forEach {
   
            map[it] = map.getOrDefault(it, 0) + 1
        }

        nums.forEach {
   
            if (it == k - it && map[it]!! < 2) {
   
                return@forEach
            }
            if (map.contains(k - it) && map[k - it]!! >= 1
                && map[it]!! >= 1
            ) {
   
                result++
                map[it] = map[it]!! - 1
                map[k - it] = map[k - it]!! - 1
            }
        }
        return result
    }

总结

短视频兴起了,我却错过了我那个最无畏,最不要脸的年代。

别搞那么没用的,包括但不限于:无用的言论、无用的抱怨、无用的脾气、无用的垂头丧气 问问自己 这个事情 你反感有用吗?这是工作,你怎么样都要做!

相关推荐

  1. 算法----K 数目

    2023-12-15 22:40:02       37 阅读
  2. [leetcode] K 数目

    2023-12-15 22:40:02       12 阅读
  3. LeetCode 1877.数组小值

    2023-12-15 22:40:02       20 阅读
  4. Leetcode373.查找 K 数字

    2023-12-15 22:40:02       6 阅读
  5. lettcode1005.k次取反后

    2023-12-15 22:40:02       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-15 22:40:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-15 22:40:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-15 22:40:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-15 22:40:02       20 阅读

热门阅读

  1. yarn link使用(npm link)

    2023-12-15 22:40:02       39 阅读
  2. leetcode206. 反转链表

    2023-12-15 22:40:02       37 阅读
  3. stata进行面板数据回归

    2023-12-15 22:40:02       37 阅读
  4. php使用exec函数占用cpu较高得解决办法

    2023-12-15 22:40:02       29 阅读
  5. hive 常见存储格式和应用场景

    2023-12-15 22:40:02       38 阅读
  6. 树莓派部署Home Assistant教程

    2023-12-15 22:40:02       35 阅读
  7. 【.NET Core】Linq查询运算符(三)

    2023-12-15 22:40:02       26 阅读