zoukankan      html  css  js  c++  java
  • 剑指Offer39 数组中寻找和为sum的两个数字

     1 /*************************************************************************
     2     > File Name: 39_TwoNumbersWithSum.cpp
     3     > Author: Juntaran
     4     > Mail: JuntaranMail@gmail.com
     5     > Created Time: 2016年09月03日 星期六 11时14分49秒
     6  ************************************************************************/
     7 
     8 #include <stdio.h>
     9 
    10 bool FindNumberWithSum(int* nums, int length, int sum, int* num1, int* num2)
    11 {
    12     bool ret = false;
    13     if (length<1 || num1==NULL || num2==NULL)
    14         return ret;
    15     
    16     int left  = 0;
    17     int right = length - 1;
    18     
    19     while (right > left)
    20     {
    21         int current = nums[left] + nums[right];
    22         if (current == sum)
    23         {
    24             *num1 = nums[left];
    25             *num2 = nums[right];
    26             ret = true;
    27             return ret;
    28         }
    29         else if (current > sum)
    30             right --;
    31         else
    32             left ++;
    33     }
    34     return ret;
    35 }
    36 
    37 int main()
    38 {
    39     int nums[] = {1,2,4,7,11,15};
    40     int length = 6;
    41     int sum = 15;
    42     int num1, num2;
    43     
    44     if (FindNumberWithSum(nums, length, sum, &num1, &num2))
    45         printf("%d, %d
    ", num1, num2);
    46     else
    47         printf("Not Find
    ");
    48     return 0;
    49 }
  • 相关阅读:
    监听器
    过滤器
    连接池与分页
    jdbc优化
    jdbc入门
    web开发mysql基础
    自定义标签
    jsp基础
    会话管理入门
    19. Remove Nth Node From End of List C++删除链表的倒数第N个节点
  • 原文地址:https://www.cnblogs.com/Juntaran/p/5839774.html
Copyright © 2011-2022 走看看