问题描述: | 问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段? 输入格式 输入的第一行包含一个整数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);
}
}