• Leetcode练习(Python):数组类:第16题:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。


    题目:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。
    思路:三指针法,和牛顿下降法的思路很类似,给定一个初始值,不断迭代找到符合要求的最优值
    class Solution:
        def threeSumClosest(self, nums: List[int], target: int) -> int:
            nums.sort()
            length = len(nums)
            limit = length - 2
            assume = nums[0] + nums[1] + nums[2]
            for i in range(limit):
                j = i + 1
                t = length -1
                while j < t:
                    result = nums[i] + nums[j] + nums[t]
                    if abs(target - assume) >= abs(target - result):
                        assume = result
                    else:
                        assume = assume
                    if target == result:
                        return result
                    elif target < result:
                        t -= 1
                    else:
                        j += 1
            return assume
  • 相关阅读:
    线程的补充
    线程
    进程
    操作系统和进程
    socketserver模块实现并发和连接合法性验证
    socketserver实例化过程
    粘包现象和解决方法
    网络通信协议
    初探网络
    Python网络编程
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12721934.html
Copyright © 2020-2023  润新知