您的位置:首页 > 理论基础 > 数据结构算法

【41】递增数组判断是否存在两个树等于给定值

2016-05-19 11:09 281 查看

题目:

给定单调递增的整数数组[n0, n1, n2,….,nk] array, 以及目标数T,边写一个算法existSum(array, T),来判定在数组array中,是否存在2个数p, q, 满足p + q = T. 该方法返回1如果存在,否则返回0

思路:

采用双指针的思路,指向第一个和最后一个。start和end,计算两个数的和all。

all == T,返回true

all < T,start++,all > T,end–

代码:

boolean findNUmberWithSum(int data[] ,int length,int T){
boolean found = false;
if(data == null || length < 1)return found;
int start = 0;
int end = length -1;
while(start < end){
int all = data[start]+data[end];
if(all == T){
found = true;
break;
}
if(all < T){
start++;
}
if(all > T){
end--;
}
}
return found;
}


欢迎入群:

公众号IT面试题汇总讨论群



如果扫描不进去,加我微信(rdst6029930)拉你。

欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧,都是干货!

微信订阅号二维码如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息