问题描述 小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。 输入格式 输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。 输出格式 输出一个整数,表示这只股票这n天中的最大波动值。 样例输入 6 样例输出 4 样例说明 第四天和第五天之间的波动最大,波动值为|3-7|=4。 评测用例规模与约定 对于所有评测用例,2 ≤ n ≤ 1000。股票每一天的价格为1到10000之间的整数。 解题思路:和最小差值类似,分别计算俩数的差值并存入一个新数组,然后找出其中最大的一个数,就是所求的最大波动;
|
package ccf;
import java.util.Scanner;
public class Wave {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int[] arr=new int[10001];
for(int i=0;i<n;i++)
arr[i]=in.nextInt();
int[] x=new int[10001];
out:for(int i=0;i<n;i++) {
int j=i+1;
if(j==0)
break out;
x[i]=Math.abs(arr[i]-arr[j]);
}
int temp=0;
for(int i=0;i<n-1;i++) {
if(temp<x[i])
temp=x[i];
}
System.out.print(temp);
}
}
问题描述 给定一个十进制整数n,输出n的各位数字之和。 输入格式 输入一个整数n。 输出格式 输出一个整数,表示答案。 样例输入 20151220 样例输出 13 样例说明 20151220的各位数字之和为2+0+1+5+1+2+2+0=13。 评测用例规模与约定 所有评测用例满足:0 ≤ n ≤ 1000000000。
解题思路:通过一个for循环将整数n的各位分割并存入数组中,最后相加; |
package ccf;
import java.util.Scanner;
public class Add_number {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int[] x=new int[10];
for(int i=0;n>0;i++) {
x[i]=n%10;
n/=10;
}
int sum=0;
for(int i=0;i<x.length;i++)
sum+=x[i];
System.out.println(sum);
}
}