给定一个数组和一个数字,给定的数组里是否存在两个数字之和等于给定的数字
2014-10-19 19:29
337 查看
/* 2014-10-19 by 不吃青瓜 */ /* 原题大概意思: 给定一个数组a[10],数据范围 1-15 另外给定一个数字 x,范围 2-10 问是否能在数组 a 中找到两个数字的和等于 x */ #include<stdio.h> bool findIt(int *arr , int n, int x) { int temp[16]; int i; for( i=0;i<16;i++) temp[i]=0; for( i=0;i<n;i++) temp[arr[i]]++; for( i=1;i<x/2;i++) { if(temp[i]!=0 && temp[x-i]!=0) return true; } if(x%2==0) if(temp[x/2]>1) return true; return false; } int main() { int arr[10]={6,5,3,2,4,8,9,5,4,14}; int x = 10; if(findIt(arr,10,3)) printf("YES\n"); else printf("NO\n"); getchar(); getchar(); return 0; }
相关文章推荐
- (笔试中的题目)一个已经排序好的数组找到两个数字相加等于一个给定的数
- 题目:请给出一个运行时间为Θ(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个整数x时,判断出S中是否存在有两个其和等于x的元素。
- 程序员面试100题之十:快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值(转)
- 快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值
- 快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值
- 【41】递增数组判断是否存在两个树等于给定值
- 快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值
- 给定一个数组,从中查找是否存在两个数的和等于一个给定的x
- 【算法导论学习-005】整数集合S中是否存在两个数等于给定的一个整数
- 【41】递增数组判断是否存在两个树等于给定值
- 【41】递增数组判断是否存在两个树等于给定值
- 【41】递增数组判断是否存在两个树等于给定值
- 题目1.请给出一个运行时间为O(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个证书x时,判断出S中是否存在有两个其和等于x的元素。
- 描述一个运行时间为O(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个整数 X 时,判断出S中是否存在有两个其和刚好等于 X 的元素。
- 程序员面试题:快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值
- 快速找出一个数组中的两个数字,其和等于给定值。
- 判断一个数组(有n个数据,数组的值大于等于1小于等于N)里面是否有两个一样的数据
- 集合S中是否存在两个元素使它们的和等于另外一个整数
- 描述一个运行时间为Θ(nlgn)的算法,给定n个整数的集合S和另一个整数x,该算法能确定S中是否存在两个其和刚好为x的元素
- 快速找出一个数组中的两个数字,使两个数之和 等于一个已给定的值