java 基础写法 给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。 一共2行,第一行为序列的个数n(1 <= n <= 1000),第二行为序列的n个不超过1000的非负整数,整数之间以一个空格分隔。
时间: 2024-03-25 12:41:09 浏览: 60
以下是 Java 的基础写法实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] nums = new int[n];
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
for (int i = 0; i < n; i++) {
nums[i] = scanner.nextInt();
max = Math.max(max, nums[i]);
min = Math.min(min, nums[i]);
}
int ans = max - min;
System.out.println(ans);
}
}
```
首先读入序列的个数 n,然后定义一个长度为 n 的数组 nums,用来存储序列的每个元素。接着用 for 循环读入 n 个非负整数,并在读入的同时更新当前的最大值 max 和最小值 min。最后计算出最大跨度值 ans,即为 max - min,并将其输出。
相关问题
Java基础写法 给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。
可以按照以下思路解决该问题:
1. 定义一个变量max记录序列中的最大值,一个变量min记录序列中的最小值;
2. 遍历整个序列,判断当前元素是否比max大或比min小,如果是则更新max或min;
3. 遍历完成后,计算max和min的差值,即为最大跨度值。
以下是Java代码实现:
```java
public static int maxSpan(int[] nums) {
int max = nums[0], min = nums[0];
for (int i = 1; i < nums.length; i++) {
if (nums[i] > max) {
max = nums[i];
}
if (nums[i] < min) {
min = nums[i];
}
}
return max - min;
}
```
其中,参数nums为给定的非负整数序列,返回值为序列的最大跨度值。
Java基础写法 给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。 n的范围1 <= n <= 1000
可以按照以下思路解决该问题:
1. 定义一个变量max记录序列中的最大值,一个变量min记录序列中的最小值;
2. 遍历整个序列,判断当前元素是否比max大或比min小,如果是则更新max或min;
3. 遍历完成后,计算max和min的差值,即为最大跨度值。
以下是Java代码实现:
```java
public static int maxSpan(int[] nums) {
int max = nums[0], min = nums[0];
for (int i = 1; i < nums.length; i++) {
if (nums[i] > max) {
max = nums[i];
}
if (nums[i] < min) {
min = nums[i];
}
}
return max - min;
}
```
其中,参数nums为给定的非负整数序列,返回值为序列的最大跨度值。
阅读全文