1352 找出数组中和为k的两个数
2013-07-14 20:34
127 查看
#include<iostream> #include<cstdio> using namespace std; int main() { int n,k; int *a; while(scanf("%d %d",&n,&k)!=EOF) { a = new int ; for(int i=0;i<n;i++) scanf("%d",&a[i]); int left=0,right=n-1; while(left<right) { int sum = a[left]+a[right]; if(sum == k) { printf("%d %d\n",a[left],a[right]); break; } else if(sum > k) right--; else left++; } if(left == right) printf("-1 -1\n"); delete[] a; a=NULL; } return 1; }
相关文章推荐
- 找出升序数组中和为给定值的两个数字
- 找出排序数组中和为给定值的两个数字
- 找出升序数组中和为给定值的两个数字
- 找出升序数组中和为给定值的两个数字 不要直接用形参里的表示,输出或清零输入时都是大忌
- 找出升序数组中和为给定值的两个数字
- 2.12 找出数组中和为给定的值的两个数字
- 【剑指offer】【41】找出升序数组中和为给定值的两个数字
- 找出升序数组中和为给定值的两个数字
- 【算法题】找出一个整型数组里两个不同数字
- 每天一道算法题10 找出数组中两个只出现一次的数字
- 找出两个数组中相同的元素,不排序直接两次循环取出
- 找出两个有序数组的公共元素
- 一个数组中,一些数出现2次,只有两个数各出现一次,找出这两个数
- 数组-06. 找出不是两个数组共有的元素
- 数组-06. 找出不是两个数组共有的元素(20)
- 找出不是两个数组共有的元素
- 只遍历一遍 找出两个重复的数(将数组中各元素作为新数组的下标)
- 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现。
- 算法题:找出整数数组中两个只出现一次的数字
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字