【LeetCode(Java) - 1099】小于 K 的两数之和

【LeetCode(Java) - 1099】小于 K 的两数之和

文章目录

1、题目描述

2、解题思路

3、解题代码

1、题目描述

2、解题思路

??从一个无序数组找元素,第一个步骤就是先排序,否则只能暴力遍历。

??排序后,定义左右两个指针:left = 0; right = A.length - 1

??定义一个 res 变量保存小于 K 的最大值。

??1、如果 A[left] + A[right] < K ,说明还有往上加的空间,先把当前和跟 res 比较一下,保存最大值,left 往右移动一位;

??2、如果 A[left] + A[right] ≥ K ,说明超标了,得缩小一点,right 往左移动一位;

??3、当 left == right 时,说明已经没法移动了,res 保存的就是小于 K 的最大值。

3、解题代码

class Solution {

public int twoSumLessThanK(int[] A, int K) {

if (A == null || A.length == 0) return 0;

Arrays.sort(A);

int left = 0;

int right = A.length - 1;

int result = Integer.MIN_VALUE;

while (left < right) {

if (A[left] + A[right] < K) {

result = Math.max(result, A[left] + A[right]);

left++;

} else {

right--;

}

}

return result == Integer.MIN_VALUE ? -1 : result;

}

}

【LeetCode(Java) - 1099】小于 K 的两数之和相关教程

java 1099_【LeetCode(Java) - 1099】小于 K 的两数之和相关推荐

  1. LeetCode 1099. 小于 K 的两数之和(二分查找)

    文章目录 1. 题目 2. 解题 2.1 暴力 2.2 二分查找 1. 题目 给你一个整数数组 A 和一个整数 K,请在该数组中找出两个元素,使它们的和小于 K 但尽可能地接近 K,返回这两个元素的和 ...

  2. LeetCode第 3 场双周赛(2019.6.29)第一题:小于 K 的两数之和

    5021. 小于 K 的两数之和 给你一个整数数组 A 和一个整数 K,请在该数组中找出两个元素,使它们的和小于 K 但尽可能地接近 K,返回这两个元素的和. 如不存在这样的两个元素,请返回 -1. ...

  3. bigdecimal 小于等于0_图解小于 K 的两数之和

    点击蓝色"五分钟学算法"关注我哟 加个"星标",天天中午 12:15,一起学算法 作者 | P.yh 来源 | 五分钟学算法 题目描述 题目来源于 LeetCo ...

  4. LeetCode题库第1题 两数之和

    两数之和 LeetCode题库第1题 两数之和 看到题,我就想到了暴力法: public int[] force(int[] nums,int target) {for (int i = 0; i & ...

  5. leetCode刷题第一天--求两数之和

    两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元素不能使 ...

  6. 力扣LeetCode算法题第2题-两数之和(二)

    力扣算法题第二题,两数相加算法题: 要求: //给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. //如果,我们将 ...

  7. Leetcode刷题(1)两数之和

    最好的种树是十年前,其次是现在.歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主  放弃很容易但是坚持一定很酷     我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的 ...

  8. Leetcode每日一题:167.two-sum-ii-input-array-is-sorted(两数之和Ⅱ-输入有序数组)

    解题思路:双指针 l 和 r,分别指向头和尾,对于这个有序数组,如果number[l] + number[r] 比 target大,那么说明选择的r对应元素偏大,将指针 r 左移:如果小于target ...

  9. leetcode(一)刷题两数之和

    给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 示例 1: 输入:nums = [2,7,11,15 ...

最新文章

  1. mysql注解批量添加mybatis_Mybatis通过注解方式实现批量插入数据库 及 常见的坑
  2. nginx 超时时间_我眼中的 Nginx(四):是什么让你的 Nginx 服务退出这么慢?
  3. python界面开发pyqt_Python2.7+PyQt4进行界面开发
  4. Vagrant搭建可移动的PHP开发环境
  5. golang int64转string_(一)Golang从入门到原地起飞
  6. mysql semisync 恢复_mysql半同步复制(semi_sync_replication)搭建及使用
  7. 小汤学编程之JavaScript学习day05——DOM、事件
  8. 解决crlf 和 lf不同带来的冲突问题
  9. 火狐翻译插件_阅读外文必备,浏览器实用的翻译插件推荐
  10. SAP PM 第一节 PM后台配置
  11. Eclipse中出现无法找到Maven包Active Maven Profiles (comma separated)
  12. android 连笔记本无线上网,android手机通过笔记本的网络实现无线wifi上网
  13. PCIe Receiver内部恢复时钟与本地时钟
  14. 【Python爬虫案例教学】采集某网站壁纸,实现壁纸自由
  15. Android 8.0 SystemUI下拉状态栏快捷开关
  16. 新股网上发行申购程序
  17. 12.2烤仔建工×MetaEstate | K歌之王在元宇宙的秘密据点
  18. 读书笔记--电气图连接线的表示方法
  19. 微信小程序全局变量改变监听
  20. 基于启扬i.MX6UL的免疫荧光分析仪解决方案

热门文章

  1. 总以为自己走的很快,才发现自己是走的最慢的那个
  2. strtok()函数详解
  3. 数字图像处理4:图像的像素级运算
  4. 威纶通触摸屏与mysql_威纶通 与 信捷XC\XD系列PLC 通讯
  5. 名词用作动词举例_哪些词后面加动名词,哪些词加不定式,两者都可以加的又有那些?...
  6. 计算机学院会会,学生分会——计算机学院学生会
  7. 一次失败的尝试:Ubuntu 故障修复
  8. 在Python中使用LLVM接口:llvmpy和llvmlite
  9. 面试看缘分php,php测试姓名缘分指数
  10. matlab车牌识别课程设计,matlab车牌识别课程设计报告模板(附源代码).doc