题目

16、最接近的三数之和

思路

模拟

代码

class Solution {
    func threeSumClosest(nums: Array<Int64>, target: Int64): Int64 {
        var ans = -4000
        var minSub = Int64.Max
        for(left in 0..nums.size){
            for(right in nums.size-1..left+1:-1){
                for(mid in left+1..right){
                    var sum = nums[left]+nums[right]+nums[mid]
                    var sub = abs(target - sum)
                    if(sub == min(minSub, sub)){
                        minSub = sub
                        ans = sum
                    }
                }
            }
        }
        return ans
    }
}

复杂度

时间O(n^2)
空间O(1)

遇到的坑

/

结果

cangjie

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐