Leetcode - Two Sum Less Than K
https://leetcode.com/problems/two-sum-less-than-k/
Given an array A of integers and integer K, return the maximum S such that there exists i < j with A[i] + A[j] = S and S < K. If no i, j exist satisfying this equation, return -1.
Example 1:
Input: A = [34,23,1,24,75,33,54,8], K = 60 Output: 58 Explanation: We can use 34 and 24 to sum 58 which is less than 60.
The description is shit. i < j only means i is not equal to j.
func twoSumLessThanK(A []int, K int) int {
sort.Ints(A)
result := -1
i := 0
j := len(A) - 1
for i < j {
sum := A[i] + A[j]
if sum >= K {
j--
} else {
if result < sum {
result = sum
}
i++
}
}
return result
}
评论 (0)