文档章节

【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
【编程题目】二维数组中的查找(C++实现)

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

qq_28869927
2017/03/21
0
0
查找算法总结

查找算法:顺序查找、二分查找、分块查找、二叉查找树、B树、B+树 一、二分查找(常规) 题目描述: (牛客网http://www.nowcoder.com/practice/28d5a9b7fc0b4a078c9a6d59830fb9b9?rp=1&ru=/...

阿阿阿阿阿局
2016/07/28
20
0
玩转算法面试:(四)LeetCode查找类问题

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

天涯明月笙
2017/09/21
0
0
leetcode-递增的三元子序列

给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。 数学表达式如下: 如果存在这样的 i, j, k, 且满足 0 ≤ i < j < k ≤ n-1, 使得 arr[i] < arr[j] < arr[k] ,返回 ...

土豆烧鸡
08/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

win10下端口被占用解决办法

win10下端口被占用解决办法 昨天还好好的tomcat,今天启动时候发现tomcat无法启动,看报错信息显示8080端口被占用。 解决办法如下:按win+R输入cmd打开控制台,输入 netstat -ano|findstr 8...

DemonsI
5分钟前
1
0
yum apt chrome 常用软件的SOCKS 代理设置

yum 设置: 在/etc/yum.conf 增加一行,内容为: 在apt-get (apt) 上使用socks代理 chrome socks代理:

idoz
6分钟前
0
0
因 php 默认的 url encode 编码标准引发的一个问题

先看常用的校验请求合法性的一个方式 function createToken($params) { $secretKey = 'secretKey'; ksort($params); $query = http_build_query($params); $token = md5......

anoty
10分钟前
3
0
微信小程序页面栈管理

页面路由 在小程序中所有页面的路由全部由框架进行管理。 页面栈 框架以栈的形式维护了当前的所有页面。当发生路由切换的时候,页面栈的表现如下: 路由方式 页面栈表现 初始化 新页面入栈 ...

昙花一现
45分钟前
2
0
es6 let使用总结

中午偷个闲做个es6let的使用总结 作用域块 在作用域块中声明的变量不受外部的影响,见例子 {let a= 10;{let a= 20;console.log('子作用域', a);// 20}console.log('父作用域', a);// 10...

莫西摩西
47分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部