整型数组 判断 java,给定一个整数数组,判断其中是否有3个数和为N
借助集合将复杂度降到n2,但耗时还是比较长。 import java.util.HashMap;
import java.util.HashSet;
import java.util.Scanner;
/**
* @Author: coderjjp
* @Date: 2020-05-07 8:40
* @Description:给定一个整数数组,判断其中是否有3个数和为N
* @version: 1.0
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String ss[] = sc.nextLine().split(",");
int N = Integer.valueOf(ss[1]);
String[] s = ss[0].split(" ");
int arr[] = new int[s.length];
for (int i = 0; i
arr[i] = Integer.valueOf(s[i]);
HashSet set = new HashSet<>();
for (int i = 0; i
int target = N - arr[i];
for (int j = 0; j
if (j == i) continue;
if (set.contains(target - arr[j])){
System.out.println("True");
return;
}
set.add(arr[j]);
}
set.clear();
}
System.out.println("False");
}
}
比较好的方法是先排序,同样把三数和问题转化为两数和问题。
import java.util.Arrays;
import java.util.Scanner;
/**
* @Author: coderjjp
* @Date: 2020-05-07 11:56
* @Description:
* @version: 1.0
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String ss[] = sc.nextLine().split(",");
int N = Integer.valueOf(ss[1]);
String[] s = ss[0].split(" ");
int arr[] = new int[s.length];
for (int i = 0; i
arr[i] = Integer.valueOf(s[i]);
Arrays.sort(arr);
int target, l, r;
for (int i = 0; i
target = N -arr[i];
l = i + 1;
r = s.length - 1;
while (l
if (arr[l] + arr[r] == target){
System.out.println("True");
return;
}else if (arr[l] + arr[r] > target)
r--;
else
l++;
}
}
System.out.println("False");
}
}
整型数组 判断 java,给定一个整数数组,判断其中是否有3个数和为N相关推荐
- 牛客 哔哩哔哩校招编程真题 给定一个整数数组,判断其中是否有3个数和为N 二分经典 三数之和
题目描述 给定一个整数数组,判断其中是否有3个数和为N 输入描述: 输入为一行 逗号前为一个整数数组,每个元素间用空格隔开:逗号后为N 输出描述: 输出bool值 True表示存在3个和为N的数 Fa ...
- 作业帮:给定一个整数数组,找出其中两个数相加等于目标值(去重set)
题目描述 给定一个整数数组,找出其中两个数相加等于目标值输入 [1,3,5,7,9,11] 10输出 1,9 3,7 代码: import java.util.HashMap; import java ...
- 数组两个整数相加 c语言,作业帮:给定一个整数数组,找出其中两个数相加等于目标值(去重set)...
题目描述 给定一个整数数组,找出其中两个数相加等于目标值 输入 [1,3,5,7,9,11] 10 输出 1,9 3,7 代码: import java.util.HashMap; import ja ...
- Java 求一个整数数组的奇数和偶数的个数
public class Array{public static void main(String[] args){int n=0,m=0;int a[]={12,45,89,44,36,52,78, ...
- 给定一个整数数组,判断是否存在重复元素。
存在重复元素 给定一个整数数组,判断是否存在重复元素. 如果存在一值在数组中出现至少两次,函数返回 true .如果数组中每个元素都不相同,则返回 false 示例 1: 输入: [1,2,3,1] ...
- java,给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
标题:java,给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 一.示例 二.题解 方法一,暴力法:使用双重for循环,每 ...
- 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
题目描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 ...
- 第1题 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标
package com.leetcode; import java.util.ArrayList; import java.util.HashMap; import java.util.List; i ...
- 【leetcode】给定一个整数数组和一个整数 k, 你需要在数组里找到不同的 k-diff数对。
给定一个整数数组和一个整数 k, 你需要在数组里找到不同的 k-diff 数对.这里将 k-diff 数对定义为一个整数对 (i, j), 其中 i 和 j 都是数组中的数字,且两数之差的绝对值是 k ...
最新文章
- 认识HTML5的WebSocket 认识HTML5的WebSocket
- 活动报名 | 上交大副教授谢伟迪:视频自监督学习
- p2p項目”復活“之想
- 我这样写代码,比直接使用 MyBatis 效率提高了 100 倍
- mysql分库分表备份脚本[转帖]
- ps如何修改图片大小尺寸_PS新手入门教程:学习如何修改画布的大小
- 陌陌宣布启用全新中文名“挚文集团” ,Q2净利润4.6亿元
- python隐式调用_c#隐式调用python_C#调用python脚本样例
- 解决MFC 窗口创建时 争夺焦点的问题
- 阿里云镜像加速Docker
- 最新影视双端直播盒子源码,自定义资源采集
- 2018-11-3-如何使用-Telegram
- django相关报错知识整理
- 冗余技术----热备份网关协议
- Gradle 2.0 用户指南翻译——第二十三章. Java 插件
- 从PCC到MIC(2)
- 自己写的一点福利代码(一)
- 误把电脑desktop文件删了怎么处理
- 微型计算机接口与技术答案,《微机原理与接口技术》课后习题答案
- 开源 – “这是最好的时代,这是最坏的时代”
热门文章
- jax-rs/jersey_使用JAX-RS(Jersey)的HTTP状态错误消息响应中的自定义原因短语
- Spring Boot自定义横幅生成
- 成为Java流专家–第2部分:中级操作
- Java性能监控:您应该了解的5个开源工具
- powermock模拟对象_使用PowerMock模拟构造函数
- scala rest_使用路标的Scala和Java的Twitter REST API
- HotSpot的-XshowSettings标志的简单性和价值
- activemq 连接_ActiveMQ网络连接器
- javafx 表单_JavaFX 2:创建登录表单
- 将PostgreSQL PL / Java安装为PostgreSQL扩展