华为oj题java单词博弈_【华为OJ】201301 JAVA 题目0-1级 将数组分为相等的两组
描述:
编写一个函数,传入一个int型数组,返回该数组能否分成两组,使得两组中各元素加起来的和相等,并且,所有5的倍数必须在其中一个组中,所有3的倍数在另一个组中(不包括5的倍数),能满足以上条件,返回true;不满足时返回false。
知识点:
语言基础,字符串,循环,函数,指针,枚举,位运算,结构体,联合体,文件操作,递归
题目来源:
内部整理
练习阶段:
初级
运行时间限制:
10Sec
内存限制:
128MByte
输入:
输入输入的数据个数
输入一个int型数组
输出:
返回true或者false
样例输入:
4
1
5
-5
1
样例输出:
true
答案提示:
源代码:
package issplittwointarray;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int arrayLength = sc.nextInt();
int[] intArray = new int[arrayLength];
for(int i = 0; i
intArray[i] = sc.nextInt();
}
boolean isSplitTwoEqualArrays = Main.isSplitTwoEqualArray(intArray);
System.out.println(isSplitTwoEqualArrays);
}
public static boolean isSplitTwoEqualArray(int[] intArray){
int multipleOfFiveSum = 0;
int multipleOfThreeSum = 0;
ArrayList otherInts = new ArrayList();
for(int i = 0; i
if(intArray[i] % 5 == 0){
multipleOfFiveSum += intArray[i];
} else if(intArray[i] % 3 == 0){
multipleOfThreeSum += intArray[i];
} else {
otherInts.add(intArray[i]);
}
}
int difference = multipleOfFiveSum - multipleOfThreeSum;
ArrayList accumulationSum = new ArrayList();
accumulationSum.add(0);
for (Integer otherInt : otherInts) {
accumulationSum = Main.expressionsAccumulation(accumulationSum, otherInt);
}
for (Integer sum : accumulationSum) {
if((sum == difference) || (sum == difference * (-1)))
return true;
}
return false;
}
public static ArrayList expressionsAccumulation(ArrayList preSums, int extraInt){
ArrayList accumulationSum = new ArrayList();
for (Integer preSum : preSums) {
accumulationSum.add(preSum + extraInt);
accumulationSum.add(preSum - extraInt);
}
return accumulationSum;
}
}
时间: 07-31
华为oj题java单词博弈_【华为OJ】201301 JAVA 题目0-1级 将数组分为相等的两组相关推荐
- 华为防火墙做单臂路由_华为单臂路由配置实例
华为单臂路由实验配置(共8篇)华为 AR2200路由器单臂路由配置实例华为 AR2200路由器单臂路由配置实例作者:救世主220实验日期:2015 6 29实验拓扑如下:AR5配置:[AR5]dis ...
- 华为 会议室分配时间最长_华为年报折射出的人才与专利价值
2019年3月29日,华为发布了2018年的年报,全球销售收入7212亿元,同比增长19.5%:净利润593亿元,同比增长25.1%,交出了不错的成绩单. 热心的媒体总不忘替华为的员工算下工资,但算的 ...
- 华为p40手机自带计算机,华为p40pro支持PC模式吗_华为p40pro能连接至电脑模式吗
华为p40pro支持PC模式吗?华为p40pro能连接至电脑模式吗?从前几年开始,就有部分华为手机可以支持PC模式了.这个模式在出差的时候还是很实用的,可以直接将手机上的内容投屏到投影仪等大屏设备上, ...
- 华为魔术手机拆机图解_华为P40 Pro上手体验
看点:iPhone X原装屏与国产屏有哪些区别? 看点:换7P.8P屏幕:C11和DTP和DKH的区别 狮淘:华人手机维修师专属工具集合店,不锈钢拆机片5个只需9.9元!包邮 山猫潮品:手机渠道直供, ...
- 华为手机怎么隐藏按键图标_华为手机8个隐藏功能,快来看看有没有你不知道的...
现在使用华为手机的人越来越多,华为手机也凭借自己强大的性能和功能收割了无数花粉,很多人虽然用着华为手机,但是并没有对手机有过多的深入研究,其实华为手机是有很多隐藏功能的,而这些功能往往都是非常实用的, ...
- 华为手机怎么调出云相册_华为云手机引关注!将替代传统手机?华为回应来了...
华为云鲲鹏云手机一场促销活动引发外界关注. 该手机提供基于云的虚拟仿真手机服务,可以将手机上的应用转移到云上的虚拟手机来运行,可以用在如移动办公.云手游等场景. 实际上华为云手机并不是要替代现有手机. ...
- 华为手机如何升级鸿蒙系统_华为官方正式公告!鸿蒙手机系统下周发布:普通花粉何时能升级?...
导语:看科技资讯,品鉴最新最全的科技新闻,了解当今科技发展水平.点击关注微信公众号:"数码科技大爆炸",每天最新最全的科技资讯,轻松放松,更多好看科技资讯尽在这里,还不快来点击关注 ...
- 华为魔术手机拆机图解_华为P9进水不显示维修案例
看点:iPhone X原装屏与国产屏有哪些区别? 看点:换7P.8P屏幕:C11和DTP和DKH的区别 狮淘:华人手机维修师专属工具集合店,不锈钢拆机片5个只需9.9元!包邮 山猫潮品:手机渠道直供, ...
- 华为p4用鸿蒙系统吗_华为p40pro是鸿蒙系统吗
华为的鸿蒙OS是一款"面向未来"的操作系统,一款基于微内核的面向全场景的分布式操作系统,此前mate30系列并没有搭载鸿蒙系统.那华为p40pro是鸿蒙系统吗? 品牌型号:华为p4 ...
最新文章
- 如何在Datawhale开源学习小程序中创建队伍?
- 解决Cannot change version of project facet Dynamic Web M
- 数据结构与算法——冒泡排序(改进后)
- 数据结构之图:有向图的拓扑排序,Python代码实现——26
- c语言程序设计的几种循环,C语言程序设计教案 第六章 循环程序设计.doc
- Java复习-对象的回收与垃圾的回收
- matlab在运筹学,MATLAB在运筹学(单纯形法)教学中的应用
- bilstmcrf词性标注_深度学习--biLSTM_CRF 命名实体识别
- CentOS 6.5 安装 Redis 执行 make #error Newer version of jemalloc required
- Arduino 各种模块篇 motor shield 电机扩展板(舵机、直流电机、步进电机party)
- SmartSVN报错format的解决办法
- 利用swap()函数来收缩内存
- C语言从入门到精通——初阶1 初识C语言
- idea打包servlet成war包部署在tomcat
- vue3实战项目——网易云App【01-项目准备】
- 垃圾收集器总结--CMS垃圾收集器
- 201521123037 《Java程序设计》第7周学习总结
- 机器学习-神经网络(Neural Network)算法
- 王兴的无限游戏和美团的三维文明世界|一点财经
- php面向对象第一篇