SH2018笔试题之成长值问题
一、题目
详见代码
二、代码
import java.util.Scanner; /**
* 3
* 1 1 5 10
* 2 3 4
* 1 4 6 -5
*/
public class main4 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in); while (in.hasNext()) {
//输入行数row
int row = in.nextInt(); //输入成长值
String[] strArr = new String[row];
String a = in.nextLine();
for (int i = 0; i < strArr.length; i++) {
strArr[i] = in.nextLine();
} //test
System.out.println(strArr[0]);
System.out.println(strArr[1]);
System.out.println(strArr[2]);
// //计算成长值
int mLast = 0; //每日成长值开始时间
int nLast = 0; //每日成长值结束时间
int valueLast = 0;//每日成长值
int mNext = 0; //每日成长值开始时间
int nNext = 0; //每日成长值结束时间
int valueNext = 0;//每日成长值
int value2Sum = 0; //任务成长值累计值
int value1Sum = 0; //每日成长值累计值
int count = 0; //统计每日成长值的数据有多少条
int sum = 0; //总成长值 for (int i = 0; i < strArr.length; i++) {
String[] strArr1 = strArr[i].split(" "); //test
for (int j = 0; j < strArr1.length; j++) {
System.out.println(strArr1[j]);
}
// if (Integer.parseInt(strArr1[0]) == 2) {
value2Sum = value2Sum + Integer.parseInt(strArr1[2]);
} if (count != 0) {
if (Integer.parseInt(strArr1[0]) == 1) {
mNext = Integer.parseInt(strArr1[1]);
nNext = Integer.parseInt(strArr1[2]);
valueNext = Integer.parseInt(strArr1[3]);
value1Sum = value1Sum + valueNext * (nNext - mNext + 1);
if (valueNext >= valueLast && nLast >= mNext) {
value1Sum = value1Sum - (Math.abs(nLast - mNext) + 1) * valueLast;
}
if (valueNext < valueLast && nLast >= mNext) {
value1Sum = value1Sum - (Math.abs(nLast - mNext) + 1) * valueNext;
}
valueLast = valueNext;
nLast = nNext;
count++;
} } if (count == 0) {
if (Integer.parseInt(strArr1[0]) == 1) {
mLast = Integer.parseInt(strArr1[1]);
nLast = Integer.parseInt(strArr1[2]);
valueLast = Integer.parseInt(strArr1[3]);
value1Sum = valueLast * (nLast - mLast + 1);
}
count++;
}
} sum = value1Sum + value2Sum;
System.out.println(sum); }
in.close();
}
}
-------------------------------------------
答案仅供参考
SH2018笔试题之成长值问题的更多相关文章
- Java笔试题:给定一个ReadOnlyClass的对象roc,能否把这个对象的age值改成30?
在Java笔试面试中,经常会遇到代码题,今天我们就来看一则Java代码笔试题. 有如下代码: Class ReadOnlyClass { private Integer age=20; public ...
- 一道笔试题来理顺Java中的值传递和引用传递
题目如下: private static void change(StringBuffer str11, StringBuffer str12) { str12 = str11; str11 = ...
- C/C++ 笔试题
/////转自http://blog.csdn.net/suxinpingtao51/article/details/8015147#userconsent# 微软亚洲技术中心的面试题!!! 1.进程 ...
- C/C++笔试题(很多)
微软亚洲技术中心的面试题!!! .进程和线程的差别. 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2 ...
- 【转】C++笔试题汇总
原文:http://www.cnblogs.com/ifaithu/articles/2657663.html C#C++C多线程面试1.static有什么用途?(请至少说明两种)1)在函数体,一个被 ...
- 从阿里巴巴笔试题看Java加载顺序
一.阿里巴巴笔试题: public class T implements Cloneable { public static int k = 0; public static T t1 = new T ...
- 我设计的ASP.NET笔试题,你会多少呢
本笔试题考查范围包括面向对象基础.HTML.CSS.JS.EF.jQuery.SQL.编码思想.算法等范围. 第1题:接口和抽象类有何区别? 第2题:静态方法和实例方法有何区别? 第3题:什么是多态? ...
- C#经典笔试题-获取字符串中相同的字符以及其个数
public Dictionary<char,int> GetStrSameAs(string str){ //将字符串转换成一个字符数组. char[] charArray=str.To ...
- 也许你需要点实用的-Web前端笔试题
之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...
随机推荐
- UOJ#346. 【清华集训2017】某位歌姬的故事 动态规划
原文链接www.cnblogs.com/zhouzhendong/p/UOJ346.html 题解 首先按照 $m_i$ 的大小排个序. 如果某一个区间和一个 m 值比他小的区间有交,那么显然可以将这 ...
- mongodb不断刷日志的问题
项目启动不断的循环刷日志. 在log4j.properties的配置文件中加上一行关闭即可 log4j.logger.org.mongodb.driver=OFF
- java类路径classpath
java编译器编译.java文件和java虚拟机执行.class文件时的路径和写法不一样. 在没有设置任何classpath环境变量的情况下,javac可以编译全路径的.java文件.例如: java ...
- Bicoloring 二分图+染色
https://vjudge.net/contest/281085?tdsourcetag=s_pcqq_aiomsg#problem/B #include<stdio.h> #inclu ...
- Newtonsoft.Json输出Json时动态忽略属性
一,前言 最近做项目采用Json形式和其他客户端交互,借助于Newtonsoft.Json . 由于业务场景不同,输出的Json内容也不同.要想忽略的属性,可以借助Newtonsoft.Json的特性 ...
- Unity Bolt插件 基本使用
1.Bolt的安装和配置 导入插件后可以看到 设置命名方式,左侧:普通人,右侧: 程序员 设置变量类型(可以手动添加自己自定义的类型) 然后点击生成,等待bolt编译生成. 2.创建一个流程并使用 如 ...
- php 解决file_put_contents 不生效
define('FILE_APPEND', 1); if (!function_exists("file_put_contents")) { function file_put_c ...
- Java String类的intern()方法
该方法的作用是把字符串加载到常量池中(jdk1.6常量池位于方法区,jdk1.7以后常量池位于堆) 在jdk1.6中,该方法把字符串的值复制到常量区,然后返回常量区里这个字符串的值: 在jdk1.7里 ...
- HttpWebRequest的Timeout和ReadWriteTimeout
HttpWebRequest.Timeout在发起请求开始,如果未从远程请求的URL得到任何数据的情况下,超过Timeout后,触发超时异常 HttpWebRequest.ReadWriteTimeo ...
- 关系数据库数据与hadoop数据进行转换的工具 - Sqoop
Sqoop 本文所使用的Sqoop版本为1.4.6 1.官网 http://sqoop.apache.org 2.作用 A:可以把hadoop数据导入到关系数据库里面(e.g. Hive -> ...