[leetcode] 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

Python实现

这是一个排序+双指针的题目,中规中矩。

class Solution:
    def maxOperations(self, nums: List[int], k: int) -> int:
        n = len(nums)
        left = 0
        right = n-1
        nums.sort()
        res = 0
        while left<right:
            val = nums[left]+nums[right]
            if val<k:
                left+=1
            elif val>k:
                right-=1
            else:
                res+=1
                left+=1
                right-=1
        return res

相关推荐

  1. 算法----K 数目

    2024-04-27 21:42:02       37 阅读
  2. [leetcode] K 数目

    2024-04-27 21:42:02       13 阅读
  3. LeetCode 1877.数组小值

    2024-04-27 21:42:02       21 阅读
  4. leetcode 918.环形子

    2024-04-27 21:42:02       12 阅读
  5. C语言求数组

    2024-04-27 21:42:02       31 阅读
  6. (贪心)

    2024-04-27 21:42:02       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-27 21:42:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-27 21:42:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-27 21:42:02       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-27 21:42:02       20 阅读

热门阅读

  1. node NPM镜像源查看和切换

    2024-04-27 21:42:02       12 阅读
  2. redis常见使用场景

    2024-04-27 21:42:02       9 阅读
  3. OpenInventor/Coin3D 学习指南

    2024-04-27 21:42:02       12 阅读
  4. go自编自导自写一片协成池

    2024-04-27 21:42:02       12 阅读
  5. undo log和redo log区分

    2024-04-27 21:42:02       16 阅读
  6. LeetCode-101-对称二叉树

    2024-04-27 21:42:02       14 阅读
  7. Android 14 transtion 动画流程

    2024-04-27 21:42:02       12 阅读
  8. Redis中transactions命令详解

    2024-04-27 21:42:02       12 阅读