题目描述

输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。

输出描述:
对应每个测试案例,输出两个数,小的先输出。

思路:头尾指针,向中间走。第一组数据肯定是积最小的。
 1 class Solution {
 2 public:
 3     vector<int> FindNumbersWithSum(vector<int> array,int sum) {
 4
 5         int i=0,j=array.size()-1;
 6         vector<int> res;
 7         while(i<j)
 8         {
 9             if(array[i]+array[j]<sum)
10                 i++;
11             else if(array[i]+array[j]>sum)
12                 j--;
13                 else
14                 {
15                     res.push_back(array[i]);
16                     res.push_back(array[j]);
17                     return res;
18                 }
19
20         }
21         return res;
22     }
23 };

转载于:https://www.cnblogs.com/SeekHit/p/5846298.html

剑指Offer 和为S的两个数字相关推荐

  1. 剑指Offer——和为s的两个数字

    1.题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 2.代码实现 import java.util.Arra ...

  2. 剑指 Offer——和为 S 的两个数字

    1. 题目 2. 解答 由于数组是已经排好序的,我们可以定义两个指针,第一个指针指向第一个元素,第二个指针指向最后一个元素,然后求出这两个元素的和,与目标和进行比较.若小于目标和,第一个指针向前移动: ...

  3. 【LeetCode笔记】剑指 Offer 57-. 和为s的两个数字 (Java、对撞双指针)

    文章目录 题目描述 思路 & 代码 二刷 题目描述 很好的一道思路题,可以用来理解状态.双指针. 注意:数组有序,否则需要用哈希表来做. 思路 & 代码 双指针:从头.尾往里走,重点在 ...

  4. 剑指offer——面试题37:两个链表的第一个公共结点

    剑指offer--面试题37:两个链表的第一个公共结点 20180906整理 Solution1: 时间复杂度为O(n2)O(n2)O(n^2)的垃圾算法 /* struct ListNode {in ...

  5. 【LeetCode】剑指 Offer 62. 圆圈中最后剩下的数字

    [LeetCode]剑指 Offer 62. 圆圈中最后剩下的数字 文章目录 [LeetCode]剑指 Offer 62. 圆圈中最后剩下的数字 一.动态规划 总结 一.动态规划 构建一个长度为 n ...

  6. 8. 返回数组里出现次数最多的数字_剑指offer 数组中出现次数超过一半的数字

    题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...

  7. 【剑指Offer】个人学习笔记_46_把数字翻译成字符串

    目录 题目: [剑指 Offer 46. 把数字翻译成字符串](https://leetcode-cn.com/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan- ...

  8. java求最后一位不为0的数字_【Java】 剑指offer(62) 圆圈中最后剩下的数字

    本文参考自<剑指offer>一书,代码采用Java语言. 题目 0, 1, -, n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字 ...

  9. 剑指offer系列-03.数组中的重复数字

    剑指offer系列第03题.数组中的重复数字 找出数组中重复的数字.在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内. 数组中某些数字是重复的,但不知道有几个数字重复了,也不 ...

最新文章

  1. cheatengine找不到数值_找商网:百度爱采购与其他B2B平台有何不同,为何能够后来居上?...
  2. 一个AndroidStudio项目的目录
  3. 使用Comet4j实现消息推送
  4. c++编译优化,arm优化
  5. pmp学习资料_PMP怎样叫通过考试,拿到证书?
  6. CDC之CreateCompatibleDC与BitBlt
  7. 主成份分析(PCA)详解
  8. 如何用java写单链表_如何使用Java实现单链表?
  9. 某大型银行深化系统技术方案之十三:服务层之服务接口模式
  10. IIS主机头值的意思
  11. 安捷伦频谱仪的使用方法图解_频谱分析仪的基本使用方法(转载)
  12. linux常用快捷键大全
  13. 坦克大战小游戏——新手练习用的
  14. 《Windows游戏编程大师技巧》(第二版)第1章(下)
  15. 朴素贝叶斯模型、SVM模型笔记
  16. gitlab用户邮箱验证的坑
  17. Gox语言中使用内存虚拟文件系统提升IO处理速度-GX43.1
  18. ExoPlayer详解——入门(官方文档)
  19. Android:隐藏虚拟键盘
  20. 关于在写代码时如何使用绝对路径与相对路径及其简单介绍

热门文章

  1. Statement violates GTID consistency: CREATE TABLE ... SELECT.
  2. git命令提交本地代码到远程仓库
  3. Java队列Disruptor 的使用
  4. JSON.toJSONString 首字母不小写
  5. SpringBoot整合WebSocket实现前后端互推消息
  6. java 将小数度数转换为度分秒格式
  7. js中获取当前时间(yyyy-MM-dd hh-mm-ss)
  8. 知识总结和记录——递归
  9. 深入理解Auto Layout 第一弹
  10. cron计划任务、chkconfig工具、systemd管理服务、unit、target介绍