算法-求和问题

硅谷探秘者 12625 0 0

问题描述

        给定一个int类型一维数组 a[],和一个int类型的数值 b。编写一个程序,判断数组中有没有两个数(a[i],a[j])的和等于b,如果存在,返回两个数在a数组中的下表(return new int[]={1,2}),如果没有返回-1(return new int[]={-1,-1})。


算法:用查找表解决问题

实现:

package club.test;

import java.util.HashMap;
import java.util.Map;
/**
 * @author jiajia
 */
public class TestMain3 {
	public static void main(String[] args) {
		int[] a=new int[]{1,2,3,9};
		int step=11;
		int[] res=index(a,step);
		System.out.println(res[0]+" & "+res[1]);
	}
	public static int[] index(int[] a,int step) {
		Map<Integer,Integer> map=new HashMap<Integer,Integer>();
		for(int i=0;i<a.length;i++) {
			if(map.containsKey(step-a[i]))
				return new int[] {map.get(step-a[i]),i};
			else
				map.put(a[i],i);
		}
		return new int[] {-1,-1};
	}
}



评论区
请写下您的评论...
暂无评论...
猜你喜欢
数据结构与算法 7014 描述:渗透,给一个n*m的矩阵,0为空白,1为白纸,2为墨水,墨水每经过每一秒会将上下左右相邻的白纸染成黑色,然后继续渗透,判断此图中的白纸最终是否能够全部被墨水染上色,若能需要输出所有白纸
数据结构与算法 6803 熄灯1.描述有一个有按钮组成的矩阵,其中每行有6个按钮,共5行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上下左右)的灯都会改变一次。即(原来亮的变暗,原来暗的变亮)对
数据结构与算法 9803 描述思路:斐波那契数列的变体考虑如果把20190324项的每一项的值都出来的话,那么值的范围就会超出基本数据类型能够表示的范围,又考虑到目是最后四位数,而加时前一位不会影响后一位的计
数据结构与算法 1847 约瑟夫环描述有m个人,围成一个环,编号为1、2、3、、、m,从第一个人开始循环报数(从1开始数),假设数到n的那个人出局,然后从下一个人继续数数(从1开始数),数到n出列,以此循环,最后那个人为
数据结构与算法 9223 描述思路:典型的广度优先搜索,根据字典序大小,可以确定遍历的循序,因为字典序DLRU,所以对于每一个节点优先先往下走,然后向左走,然后向右走,然后向上走。则最后首先到达出口的一条路径就是符合
其他 9585 在一本书上看到过子类可以重载父类的方,关于这一点有点疑惑,个人重载是发生在同一个类中。网上关于这个也存在争议。先暂时作为一个记录在此下面这张图片引用自《疯狂java讲义第三版》关于重写,遵循以
数据结构与算法 12867 觉图的着色类似与八皇后,使用回溯(试探)解决描述state[n]存储n个顶点的着色方案,可以选择的颜色为1到m。当t=1时,对当前第t个顶点开始着色:若tn,则已得一个解,输出着色方
算法基础,linux 4641 描述springboot项目在跨域名调用接口,并且需要传自定义的请头时报错:AccesstoXMLHttpRequestat'http://ydatestapi.libawall.com
归档
2018-11  12 2018-12  33 2019-01  28 2019-02  28 2019-03  32 2019-04  27 2019-05  33 2019-06  6 2019-07  12 2019-08  12 2019-09  21 2019-10  8 2019-11  15 2019-12  25 2020-01  9 2020-02  5 2020-03  16 2020-04  4 2020-06  1 2020-07  7 2020-08  13 2020-09  9 2020-10  5 2020-12  3 2021-01  1 2021-02  5 2021-03  7 2021-04  4 2021-05  4 2021-06  1 2021-07  7 2021-08  2 2021-09  8 2021-10  9 2021-11  16 2021-12  14 2022-01  7 2022-05  1 2022-08  3 2022-09  2 2022-10  2 2022-12  5 2023-01  3 2023-02  1 2023-03  4 2023-04  2 2023-06  3 2023-07  4 2023-08  1 2023-10  1 2024-02  1 2024-03  1 2024-04  1 2024-08  1
标签
算法基础 linux 前端 c++ 数据结构 框架 数据库 计算机基础 储备知识 java基础 ASM 其他 深入理解java虚拟机 nginx git 消息中间件 搜索 maven redis docker dubbo vue 导入导出 软件使用 idea插件 协议 无聊的知识 jenkins springboot mqtt协议 keepalived minio mysql ensp 网络基础 xxl-job rabbitmq haproxy srs 音视频 webrtc javascript 加密算法
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。