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 ...
随机推荐
- POSIX Timer
SYNOPSIS #include <signal.h> /* only timer_create need this header */ #include <time.h> ...
- html_jQuery
jQuery:对Dom和js的封装模块 jQuery 低版本(1.x)兼容IE,jquery下载:http://jquery.com/download/ 若不考虑兼容ie,可下载最新版 我用的jQue ...
- Codeforces 279D The Minimum Number of Variables 状压dp
The Minimum Number of Variables 我们定义dp[ i ][ mask ]表示是否存在 处理完前 i 个a, b中存者 a存在的状态是mask 的情况. 然后用sosdp处 ...
- python tesserocr ImportError: dll loading failed 一个不常遇见的错误,以及简单的python安装方法~
废话不多说了,这是写给小白的了. 本人有c#,c/c++开发经验,最近因为偶然的原因,开始接触python,遇到一个棘手的问题,一位朋友在安装tesserocr 包后遇到一个错误,重新安装数次不能解决 ...
- 【java】-- 线程池原理分析
1.为什么要学习使用多线程? 多线程的异步执行方式,虽然能够最大限度发挥多核计算机的计算能力,但是如果不加控制,反而会对系统造成负担. 线程本身也要占用内存空间,大量的线程会占用内存资源并且可能会导致 ...
- DCDC设计指南1
DC/DC电源设计指导:一 在设计电源模块的时候,第一时间要把该电源IC的datasheet资料下载好,查看里面的说明: 下面以一款DC/DC转换IC为例: 开始布局前先看下IC的特性说明,图1: 图 ...
- 简单的dfs题 --- POJ1321 棋盘问题
题目链接: http://poj.org/problem?id=1321 题目大意: 你有k个棋子,若干个可以填的位置,要求填下一个棋子后其行和列不能填棋子. 思路: dfs策略 画图理解更好些: 填 ...
- APM(pixhawk)飞控疑难杂症解决方法汇总(持续更新)
本文转自下面博主 https://blog.csdn.net/junzixing/article/details/79310159 APM/Pixhawk常用链接汇总(持续更新) https://bl ...
- js活jQuery实现动态添加、移除css/js文件
下面是在项目中用到的,直接封装好的函数,拿去在js中直接调用就可以实现css.js文件的动态引入与删除.代码如下 动态加载,移除,替换css/js文件 // 动态添加css文件 function ad ...
- 关于Promise层层嵌套可读性差问题
Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象 ES6 规 ...