剑指offer系列45---和为s的两个数字
【题目】输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,
package com.exe9.offer; /**
* 【题目】输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,
* //如果有多对数字的和等于S,输出两个数的乘积最小的。
* @author WGS
*
*/
public class FindTwoNumberSum { public boolean findTwoNumEqualS(int[] arr,int s){
if(arr==null || arr.length<2) return false; //方法一:简单的办法 时间复杂度O(n^2)
/*for(int i=0;i<arr.length;i++){
int num=arr[i];
for(int j=0;j<arr.length;j++){
if(i!=j){
num+=arr[j];
if(num==s){
return true;
}
else{
num-=arr[j];
}
} }
}*/ //方法二:双指针思想
int firstIndex=0;
int lastIndex=arr.length-1;
int sum=0; while(firstIndex<lastIndex){
sum=arr[firstIndex]+arr[lastIndex]; if(sum==s){
return true;
}else if(sum<s){
firstIndex++;
}else{
lastIndex--;
}
} return false; } public static void main(String[] args) {
FindTwoNumberSum f=new FindTwoNumberSum();
int[] array = new int[]{1,2};
System.out.println(f.findTwoNumEqualS(array, 3)); } }
剑指offer系列45---和为s的两个数字的更多相关文章
- 【剑指offer】42.和为S的两个数字
42.和为S的两个数字 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 示例: 输入:[1,2,4,7,11 ...
- 干货 | 剑指offer系列文章汇总
下面是名企面试中经常会出现的面试题目,大家可以戳相应的题目查看题目细节,其答案会在紧接着的后一篇中出现 剑指offer系列 始 剑指offer—灯管问题(1) 剑指offer—10人电梯(2) ...
- 剑指Offer(三十六):两个链表的第一个公共结点
剑指Offer(三十六):两个链表的第一个公共结点 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.ne ...
- 《剑指offer》数组中只出现一次的数字
本题来自<剑指offer> 数组中只出现一次的数字 题目: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 思路: 思路一:在<剑指of ...
- [简单-剑指 Offer 53 - II. 0~n-1中缺失的数字]
[简单-剑指 Offer 53 - II. 0-n-1中缺失的数字] 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0-n-1之内.在范围0-n-1内的n个数字中有且只有一 ...
- 剑指 Offer 53 - II. 0~n-1中缺失的数字 + 二分法
剑指 Offer 53 - II. 0-n-1中缺失的数字 Offer_53 题目详情 java代码 package com.walegarrett.offer; /** * @Author Wale ...
- 力扣 - 剑指 Offer 53 - II. 0~n-1中缺失的数字
题目 剑指 Offer 53 - II. 0-n-1中缺失的数字 思路1 排序数组找数字使用二分法 通过题目,我们可以得到一个规律: 如果数组的索引值和该位置的值相等,说明还未缺失数字 一旦不相等了, ...
- 【剑指Offer】数组中只出现一次的数字 解题报告(Python)
[剑指Offer]数组中只出现一次的数字 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-intervie ...
- 7、斐波那契数列、跳台阶、变态跳台阶、矩形覆盖------------>剑指offer系列
题目:斐波那契数列 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). f(n) = f(n-1) + f(n-2) 基本思路 这道题在剑指offe ...
- 【Java】 剑指offer(2) 不修改数组找出重复的数字
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 在一个长度为n+1的数组里的所有数字都在1到n的范围内,所以数组中至少 ...
随机推荐
- 【转】7 Tips to Speed Up Eclipse
技巧一:运行最新版本的JDK和Eclipse 通常,新版本的JDK和Eclipse都会有性能上的优化.请确保你使用的是64位Eclipse并且使用了Oracle的JDK.对于网络开发,需要使用Ecli ...
- java常见类型的转化以及风险
呵呵呵 参考:http://zhangyuefeng1983.blog.163.com/blog/static/1083372520126693524870/
- 238. Product of Array Except Self
Given an array of n integers where n > 1, nums, return an array output such that output[i] is equ ...
- RelativeLayout用到的一些重要的属性
第一类:属性值为true或false android:layout_centerHrizontal 水平居中 ...
- 浅谈jQuery中setInterval()方法
定义和用法: setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式. setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口 ...
- js confirm用法
<script> $('.tzshanchu').click(function(){ if(confirm('是否确认删除')){ alert('删除了') } });</scrip ...
- activiti 中的签收与委托 操作
原文:http://my.oschina.net/acitiviti/blog/350957 先看看activiti中关于TASK的数据库表: 其中有两个字段:OWNER_,ASSIGNEE_ 这两个 ...
- Tomcat的JVM优化
一.JVM管理内存段分类 1.线程共享内存 方法区:存储jvm加载的class.常量.静态变量.及时编译器编译后的代码等 java堆:存储java所有对象实例.数组等 2.线程私有内存 程序计数寄存器 ...
- hihoCoder #1040 (判断是否为矩形)
题目大意:给四条线段,问能否构成一个矩形? 题目分析:先判断能否构成四边形,然后选一条边,看另外三条边中是否为一条与他平行,两条垂直. 代码如下: # include<iostream> ...
- HDU-2196 Computer (树形DP)
题目大意:在一棵带边权的有根树中,对于每个点,找出它与离它最远的那个点的之间的距离. 题目分析:对于一个点,离它最远的点只有两种情况,一是它到叶子节点的最远距离,一是与它父亲的距离加上他的父亲到叶子节 ...