https://www.lanqiao.cn/problems/252/learning/
题目描述
给定一个数组,找到两个总和为特定值的索引。
例如给定数组 [1, 2, 3, -2, 5, 7],给定总和 7,则返回索引 [1, 4]。
若有多组符合情况则输出索引对中小索引最小的一组。
输入描述
第一行为给定数组的长度,不超过 100。
第二行为数组元素,元素大小不超过 100(可能为负数)。
第三行为特定值。
输出描述
输出一行,为两个索引值,升序输出。
输入输出样例
示例
输入
6
1 2 3 -2 5 7
7
输出
1 4
暴力
- public class Main {
- static int N=120;
- static int a[]=new int[N];
-
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- int n=sc.nextInt();
- for(int i=0;i
- a[i]=sc.nextInt();
- }
- int target=sc.nextInt();
- for(int i=0;i
- for(int j=i+1;j
- if(a[i]+a[j]==target) {
- System.out.print(i+" "+j);
- return ;
- }
- }
- }
- }
- }
哈希
- import java.util.HashMap;
- import java.util.Map;
- import java.util.Scanner;
-
- public class Main {
- static int N=110;
- static int a[]=new int[N];
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- int n=sc.nextInt();
- HashMap
Map = new HashMap<>(); - for(int i=0;i
- a[i]=sc.nextInt();
- Map.put(a[i],i);
- }
- int target=sc.nextInt();
- for(int i=0;i
- int A=a[i];
- if(Map.containsKey(target-a[i])) {
- System.out.println(i+" "+Map.get(target-a[i]));
- break;
- }
- }
- }
- }
-
相关阅读:
编码技巧——MongoDB的过期时间
SCAU Java 实验7 银行账户存取款业务
AUTOSAR汽车电子嵌入式编程精讲300篇-基于“可自动配置的底层软件” 的开放式汽车电子软件架构研究(中)
python 之生成器表达式,以及与列表推导式的区别
JUC笔记(二) --- Java线程
海外IP代理科普——API代理是什么?怎么用?
如何使用SMS向客户传递服务信息?指南在这里!
Chapter8.4:非线性控制系统分析考研参考题
偷热、窃热行为如何早发现
网络运维Day19
-
原文地址:https://blog.csdn.net/qq_58631644/article/details/128028634