当前位置: 首页 > news >正文

力扣面试(五)

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

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

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

输入:nums = [1,2,3,4], k = 5
输出:2
解释:开始时 nums = [1,2,3,4]:
- 移出 1 和 4 ,之后 nums = [2,3]
- 移出 2 和 3 ,之后 nums = []
不再有和为 5 的数对,因此最多执行 2 次操作。

思路:

先将数据进行从小到大排序,然后从队列两侧进行查找,这样性能会更高

int compareInts(const void *a, const void *b) {return *(int *)a - *(int *)b;
}int maxOperations(int* nums, int numsSize, int k){qsort(nums, numsSize, sizeof(int), compareInts);int operations = 0;int left = 0; // Start from the beginning of the arrayint right = numsSize - 1; // Start from the end of the arraywhile (left < right) {int sum = nums[left] + nums[right];if (sum == k) {// Found a pair that sums up to koperations++;left++; // Move the left pointer one step to the rightright--; // Move the right pointer one step to the left} else if (sum < k) {// Increase the sum by moving the left pointer to the rightleft++;} else {// Decrease the sum by moving the right pointer to the leftright--;}}return operations;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • esp8266初始化卡在1的原因
  • CentOS通过rsync实现文件同步(daemon方式)
  • 【HDFS】HADOOP-11552.Allow handoff on the server side for RPC requests
  • Yarn UI 时间问题,相差8小时
  • AI测试:人工智能模型的核心测试指标,分类判别、目标检测、图像分割、定量计算分别有哪些指标?
  • 昇思25天学习打卡营第12天 |昇思MindSpore 基于 MindSpore 通过 GPT 实现情感分类
  • CANoe:System Variables模块介绍
  • 只有IP地址没有域名怎么实现HTTPS访问?
  • 自动问答之白嫖文心一言大模型
  • 卡拉OK歌唱比赛活动策划方案
  • 使用flutter做圆形进度条 (桌面端)
  • PicInsight - 制作精美的明信片! | 限时免费
  • 成都云飞浩容文化传媒有限公司领航电商新纪元
  • URL重写
  • 代码随想录算法训练营第四十五天| 115.不同的子序列 、583. 两个字符串的删除操作 、 72. 编辑距离
  • 【笔记】你不知道的JS读书笔记——Promise
  • ECS应用管理最佳实践
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • PermissionScope Swift4 兼容问题
  • Promise初体验
  • ReactNativeweexDeviceOne对比
  • vue-loader 源码解析系列之 selector
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 我有几个粽子,和一个故事
  • 7行Python代码的人脸识别
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • 从如何停掉 Promise 链说起
  • ​TypeScript都不会用,也敢说会前端?
  • ​香农与信息论三大定律
  • #Linux(权限管理)
  • #stm32整理(一)flash读写
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (C语言)fgets与fputs函数详解
  • (function(){})()的分步解析
  • (六)c52学习之旅-独立按键
  • (论文阅读40-45)图像描述1
  • (算法)前K大的和
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • .NET 5种线程安全集合
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .net 连接达梦数据库开发环境部署
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .net8.0与halcon编程环境构建
  • @RequestParam,@RequestBody和@PathVariable 区别
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • @vue/cli 3.x+引入jQuery
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)
  • [2019/05/17]解决springboot测试List接口时JSON传参异常
  • [240727] Qt Creator 14 发布 | AMD 推迟 Ryzen 9000芯片发布
  • [BZOJ] 1001: [BeiJing2006]狼抓兔子
  • [C#]OpenCvSharp使用帧差法或者三帧差法检测移动物体
  • [C#]将opencvsharp的Mat对象转成onnxruntime的inputtensor的3种方法