牛牛的老师给出了一个区间的定义:对于x ≤ y,[x, y]表示x到y之间(包括x和y)的所有连续整数集合。例如[3,3] = {3}, [4,7] = {4,5,6,7}.牛牛现在有一个长度为n的递增序列,牛牛想知道需要多少个区间并起来等于这个序列。
例如:
{1,2,3,4,5,6,7,8,9,10}最少只需要[1,10]这一个区间
{1,3,5,6,7}最少只需要[1,1],[3,3],[5,7]这三个区间
输入包括两行,第一行一个整数n(1 ≤ n ≤ 50), 第二行n个整数a[i](1 ≤ a[i] ≤ 50),表示牛牛的序列,保证序列是递增的。
输出一个整数,表示最少区间个数。
5 1 3 5 6 7
3
import java.util.Scanner;public class Main{public static void main(String [] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] arr = new int[n];for(int i = 0;i<n;i++)arr[i] =sc.nextInt();int ans =1;for(int i =1;i<n;i++){if(arr[i]!=(arr[i-1]+1))ans ++;}if(n==0)ans=0;System.out.println(ans);}}
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>intmain(){intn;inta[50] = {0};inti = 0;intcount = 0;scanf("%d", &n);getchar();for(;i <n;i++){scanf("%d", &a[i]);}getchar();for(i = 0;i < n-1;i++){if(a[i]+1 != a[i+1]){++count;}}++count;printf("%d\n", count);return0;}