找出升序数组中和为给定值的两个数字 不要直接用形参里的表示,输出或清零输入时都是大忌
来源:互联网 发布:中国根域名服务器成功 编辑:程序博客网 时间:2024/04/30 03:35
输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。如果有多对数字的和等于输入的数字,输出任意一对即可。
详细描述:
接口说明
原型:
bool FindTwoNumbersWithSum(int aData[], unsignedint uiLength, int sum, int *pNum1, int *pNum2);
输入参数:
int aData[] // 升序数组
unsigned int uiLength // 数组元素个数
int sum, // 给定两个数组的和
输出参数(指针指向的内存区域保证有效):
int*pNum1 // 第一个数字,对应数组索引小的
int *pNum2 // 第二个数字,对应数组索引大的
返回值:
找到返回true,异常返回false
这道题不难,不要直接用形参里的表示,输出或清零输入时都是大忌
#include <iostream>#include "OJ.h"using namespace std;/*功能: 输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。如果有多对数字的和等于输入的数字,输出任意一对即可。输入: int aData[] // 升序数组 unsigned int uiLength // 数组元素个数 int sum, // 给定两个数组的和 输出: int *pNum1 // 第一个数字,对应数组索引小的 int *pNum2 // 第二个数字,对应数组索引大的返回: 找到返回true,异常返回false*/bool FindTwoNumbersWithSum(int aData[], unsigned int uiLength, int sum, int *pNum1, int *pNum2){/*在这里实现功能*/if( NULL == aData || uiLength <= 1)return false;/**pNum1 = aData[0];*pNum2 = aData[uiLength - 1];*///这样是完全不对的,只是把值赋给了,跟内存地址没关系int *begin = aData;int *end = aData + uiLength - 1;/*while(pNum1 < pNum2 ){if(*pNum1 + *pNum2 == sum)//这样的虽然可以得到结果,可是输出中无法正确输出*pNum1的值,得自己定义一个指针如*begin来表示return true;else if(*pNum1 + *pNum2 < sum)++pNum1;else--pNum2;}*/while(begin < end ){if(*begin + *end == sum){*pNum1 = *begin;*pNum2 = *end;return true;}else if(*begin + *end < sum)++begin;else--end;}return false;}
0 0
- 找出升序数组中和为给定值的两个数字 不要直接用形参里的表示,输出或清零输入时都是大忌
- 找出升序数组中和为给定值的两个数字
- 找出升序数组中和为给定值的两个数字
- 找出升序数组中和为给定值的两个数字
- 找出升序数组中和为给定值的两个数字
- 【剑指offer】【41】找出升序数组中和为给定值的两个数字
- 找出排序数组中和为给定值的两个数字
- 2.12 找出数组中和为给定的值的两个数字
- 找出数组中和为给定值的两个数
- 排序数组中和为给定值的两个数字
- 排序数组中和为给定值的两个数字
- 排序数组中和为给定值的两个数字
- 排序数组中和为给定值的两个数字
- 找出数组中和为给定的值的两个数(twoSum)
- 和为n连续正数序列 & 排序数组中和为给定值的两个数字
- [程序员面试题精选100题]10.排序数组中和为给定值的两个数字
- 查找数组中和为某给定值的两个数
- 程序员面试题精选100题(10)-排序数组中和为给定值的两个数字[算法]
- apache 有哪些 开源
- HDU-5610 Array(枚举)
- 2016年英语学习——1月
- java中常用的字符串的截取方法
- 3Sum Closest题解
- 找出升序数组中和为给定值的两个数字 不要直接用形参里的表示,输出或清零输入时都是大忌
- hdu 4858 项目管理(图的分治)
- 自定义Mina中的拦截器
- 华夏神农实习总结
- sync 接口返回的内容
- 【安卓开发】JNI常用接口 - 2
- eclipse luna 集成weblogic
- 程序人生名言
- 可重入和线程安全