| 问题描述: |
问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段? 输入格式 输入的第一行包含一个整数n,表示数列中整数的个数。 输出格式 输出一个整数,表示给定的数列有多个段。 样例输入 8 样例输出 5 样例说明 8 8 8是第一段,0是第二段,12 12是第三段,倒数第二个整数8是第四段,最后一个0是第五段。 评测用例规模与约定 1 ≤ n ≤ 1000,0 ≤ ai ≤ 1000。 |
package sequenceSegmentation;
import java.util.Scanner;
public class Main {
@SuppressWarnings("resource")
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();// 整数个数
int result = 1;// 初值为1
int pre = sc.nextInt();// 记录前一个数,初值为第一个数
for (int i = 1; i < n; i++) {
int cur = sc.nextInt();
if (cur != pre)// 若与前数不同,则可判断为新的一段
{
result++;
pre = cur;
}
}
System.out.println(result);
}
}
本文详细解析了一个关于数列分段的算法问题,通过实例解释了如何将一个整数数列按照连续相同整数序列进行分段,并提供了一段Java代码实现。该算法能够有效地计算数列中有多少个独立的整数序列段。

2323

被折叠的 条评论
为什么被折叠?



