文档章节

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

fengsehng
 fengsehng
发布于 2016/11/09 09:15
字数 258
阅读 1
收藏 0

题目:

给定单调递增的整数数组[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面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧,都是干货!

微信订阅号二维码如下:

这里写图片描述

© 著作权归作者所有

共有 人打赏支持
fengsehng
粉丝 4
博文 284
码字总数 214494
作品 0
朝阳
程序员
私信 提问
《程序员代码面试指南》Python实现(个人读书笔记)

说明   最近一直在读左神的书——《程序员代码面试指南—IT名企算法与数据结构题目最优解》,为了记录自己的学习成果,并且方便以后查看,将自己读书时的想法与使用python实现的代码记录在...

qq_34342154
2017/09/09
0
0
CodingInterview 一刷

1. 找出数组中重复的数字 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一...

BookThief
2018/08/05
0
0
【编程题目】二维数组中的查找(C++实现)

题目描述:在一个二维数组中,每一行按照从左至右递增的顺序排列,每一列按照从上至下递增的顺序排列。输入一个数字,判断数组中是否存在该数字。 一、分析 对于这个问题,一种很简单粗暴的方...

qq_28869927
2017/03/21
0
0
玩转算法面试:(四)LeetCode查找类问题

查找问题 两类查找问题 查找有无:元素’a’是否存在?set;集合 查找对应关系(键值对应):元素’a’出现了几次?map;字典 通常语言的标准库中都内置set和map 容器类 屏蔽实现细节 了解语...

天涯明月笙
2017/09/21
0
0
Ramda 函数库参考教程

学习函数式编程的过程中,我接触到了 Ramda.js。 我发现,这是一个很重要的库,提供了许多有用的方法,每个 JavaScript 程序员都应该掌握这个工具。 你可能会问,Underscore 和 Lodash 已经这...

阮一峰
2017/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ZStack--工作流引擎

在IaaS软件中的任务通常有很长的执行路径,一个错误可能发生在任意一个给定的步骤。为了保持系统的完整性,一个IaaS软件必须提供一套机制用于回滚先前的操作步骤。通过一个工作流引擎,ZStac...

ZStack社区版
4分钟前
0
0
Eclipse 安装lombok

1.首先打开lombok官网:https://projectlombok.org/ 2.选择下载 3.使用java -jar 运行jar包(一般情况下双击即可) 4.安装 5.重启IDE...

hengbao5
8分钟前
1
0
混合式开发框架资料汇总

1.quickhybrid 2.kerkee 3.Hybrid

IT追寻者
16分钟前
0
0
PyCharm入门教程——基本编辑程序

PyCharm最新版本下载 JetBrains PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web...

电池盒
18分钟前
0
0
分布式、高并发、多线程

分布式 分布式是为了解决单个物理服务器容量和性能瓶颈问题而采用的优化手段。包括但不限于:分布式文件系统,分布式缓存,分布式数据库,分布式计算。 分布式的实现有两种形式: 水平扩展:...

细节探索者
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部