zoukankan      html  css  js  c++  java
  • 算法(6)3Sum Closest

    kSum问题是一类问题,基本的方法是两个循环,其他一个查找,但是今天碰到了一个超级棘手的问题,是3Sum问题的一个变型

    问题:给定一个数组,给定一个整数k,要求找出在数组中找到3个整数,使得这三个整数的和与k的相差最小!

    思路:最受不了这种最大值最小值类的问题啦!如果是个确定的数还能通过一些二分查找、hash查找这样的方法来找,但是最大最小这类问题,需要自己处理找不到的情况!如果找不到这个值的话怎么办?那么我就在数组查找到这个target前后的两个值,然后比较一下即可!

    编程

    1)lower_bound函数中第一个参数要保证小于第二个参数

    2)编程时注意通过以下方式减少计算,for(i = 0; i <size; i++) for( j = i; j < size; j++) ... lower_bound(a.begin()+j+1,a.end);

    答案:https://github.com/honpey/codebox/blob/master/leetcode/array/p16.cpp

  • 相关阅读:
    类和对象
    使用JAVA理解程序逻辑
    类的有参
    1.人机猜拳
    类的无参方法
    类和对象
    Java解析XML
    集合框架一
    Java中的包
    继承
  • 原文地址:https://www.cnblogs.com/honpey/p/6790341.html
Copyright © 2011-2022 走看看