美文网首页
解题报告 - 小于K的两数之和

解题报告 - 小于K的两数之和

作者: 大涛先生 | 来源:发表于2022-10-06 13:46 被阅读0次

LeetCode 小于K的两数之和

@TOC

题目描述

给你一个整数数组 nums 和整数 k ,返回最大和 sum ,满足存在 i < j 使得 nums[i] + nums[j] = sumsum < k 。如果没有满足此等式的 i,j 存在,则返回 -1

xxxxxxxxx
示例:

1输入:nums = [34,23,1,24,75,33,54,8], k = 60 输出:58

提示:

11 <= nums.length <= 10021 <= nums[i] <= 100031 <= k <= 20004

一、解题关键词

1最大和2i<j3sum < k

二、解题报告

1.思路分析

  1. 指定是需要一个循环的
  2. 题目给出的数组是无序的
  3. 最大和Sum 也就是需要找到一个最接近的值
  4. 最接近 需要Math.max() 或者进行排序

2.时间复杂度

3.代码示例

 1class Solution { 2    public int twoSumLessThanK(int[] nums, int k) { 3        if (null == nums || nums.length < 1)return -1; 4        Arrays.sort(nums); 5 6        int len = nums.length; 7        int left = 0,right = len - 1; 8 9        int res = Integer.MIN_VALUE;1011        while(left < right){12            int num = nums[left] + nums[right];13            if (num>=k){14                right --;15            }else{16                res = Math.max(res,num);17                left++;18            }19        }20        return res == Integer.MIN_VALUE? -1:res;2122    }23}

4.知识点

1指定是需要一个循环的21、for32、while43、do()while{} 

相关文章

  • 解题报告 - 小于K的两数之和

    LeetCode 小于K的两数之和 @TOC[%E6%96%87%E7%AB%A0%E7%9B%AE%E5%BD%...

  • Leetcode TwoSum & 两数之和 解题报告

    Two Sum 给定一个数组nums和一个整数值target,返回两个数值(nums数组下标的index),使其所...

  • 两数之和&三数之和&四数之和&K数之和

    今天看了一道谷歌K数之和的算法题,忽然想起来之前在力扣上做过2、3、4数之和的题,觉得很有必要来整理一下。其实2、...

  • LeetCode: 两数之和

    首刷 LeetCode 规避版权问题,题目详见: 两数之和 仅在此备忘我的解题。 解题思路: 遍历数组 计算目标...

  • LintCode三数之和系列问题

    三数之和 LintCode57 三数之和解题思路:先对数组排序,然后开始遍历,对于数组中的每一个元素,用两指针往中...

  • 18.四数之和

    自己解法 四数之和解题思路和三数之和类似,不过这个方式是固定前两个数字,后面两个数字用夹逼的方式向中间逼近,这样时...

  • leetcode解题攻略01两数之和

    1. 两数之和 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回...

  • LeetCode 解题 : 1. 两数之和

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的...

  • k数之和

    求解k数之和,必须要保证数组有序,方便后面跳过重复的数字,当k是2的时候,退化为求解2数之和

  • week 2019-07-14

    四数之和 括号生成 合并K个链表

网友评论

      本文标题:解题报告 - 小于K的两数之和

      本文链接:https://www.haomeiwen.com/subject/usbmartx.html