试题编号: 201509-1
试题名称: 数列分段
时间限制: 1.0s
内存限制: 256.0MB
问题描述:

问题描述
  给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段?
输入格式
  输入的第一行包含一个整数n,表示数列中整数的个数。
  第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。
输出格式
  输出一个整数,表示给定的数列有多个段。
样例输入
8
8 8 8 0 12 12 8 0
样例输出
5
样例说明
  8 8 8是第一段,0是第二段,12 12是第三段,倒数第二个整数8是第四段,最后一个0是第五段。
评测用例规模与约定
  1 ≤ n ≤ 1000,0 ≤ ai ≤ 1000。

问题链接:CCF201509-1 数列分段
问题简述:先输入一个十进制整数n,再输入n个正整数,连续同值的归为一段的话,求该数列有几段?
问题分析
重写解题博客以及解题程序代码(参见参考链接),解题逻辑更加清晰,解题代码更加简洁,多种语言解法。
每当数列中值发生变化时,段的数量增1。因为n≥1,所以至少有1段,所有数据全部同值时是1段。
边读入数据边处理的做法是最为合理的,省去存储数列的数组空间。
这里给出解题的C语言程序、Python语言程序和Java语言程序。
程序说明:(略)
参考链接
CCF201509-1 数列分段(100分)
题记:(略)

100分的C语言程序如下:

/* CCF201509-1 数列分段 */#include <stdio.h>int main(void)
{int n, last, cur, cnt = 1, i;scanf("%d%d", &n, &last); /* 读入n,读入第1个数 */for (i = 2; i <= n; i++) {       scanf("%d", &cur); /* 读入第2至第n个数*/if (cur != last) cnt++; /* 比较统计:与前一个数相同则计数 */last = cur;}printf("%d\n", cnt); /* 输出结果 */return 0;
}

100分的Python语言程序如下:

# CCF201509-1 数列分段n = int(input())
nums = [int(num) for num in input().split()]
c = 1
for i in range(1,n):if nums[i] != nums[i - 1]:c += 1
print(c)

100分的Java语言程序如下:

/* CCF201509-1 数列分段 */import java.util.Scanner;public class Main {public static void main(String args[]){Scanner sc = new Scanner(System.in);int n = sc.nextInt(), last = sc.nextInt(), cur, cnt = 1;for (int i = 2; i <= n; i++) {cur = sc.nextInt();if (cur != last) cnt++;last = cur;}System.out.print(cnt);}
}

CCF201509-1 数列分段(100分)【序列处理】相关推荐

  1. CCF201509-1 数列分段(100分)

    试题编号: 201509-1 试题名称: 数列分段 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段? ...

  2. CCF201612-1 中间数(100分)【序列处理+排序】

    试题编号: 201612-1 试题名称: 中间数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在一个整数序列a 1, a 2, -, a n中,如果存在某个数,大于它的整数 ...

  3. CCF201604-1 折点计数(100分)【序列处理】

    试题编号: 201604-1 试题名称: 折点计数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定n个整数表示一个商店连续n天的销售量.如果某天之前销售量在增长,而后一天 ...

  4. CSP202009-2 风险人群筛查(100分)【序列处理】

    试题编号: 202009-2 试题名称: 风险人群筛查 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 题目背景 某地疫情爆发后,出于"应检尽检"的原则,我们想要通知 ...

  5. CSP202012-1 期末预测之安全指数(100分)【序列处理】

    试题编号: 202012-1 试题名称: 期末预测之安全指数 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 样例1输入 6 2 60 10 100 0 70 0 0 -10 50 10 ...

  6. CCF201812-1 小明上学(100分)【序列处理】

    题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校.为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间.他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿 ...

  7. CCF202109-2 非零段划分(100分)【序列处理】

    试题编号: 202109-2 试题名称: 非零段划分 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目描述 A1,A2,-,An是一个由 n 个自然数(非负整数)组成的数组.我们称其 ...

  8. CCF202109-1 数组推导(100分)【序列处理】

    试题编号: 202109-1 试题名称: 数组推导 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目描述 A1,A2,-,An是一个由 n个自然数(即非负整数)组成的数组.在此基础上 ...

  9. CCF201712-1 最小差值(100分)【序列处理】

    试题编号: 201712-1 试题名称: 最小差值 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值 ...

最新文章

  1. linux 中php以及nginx的重启命令
  2. mupdf不支持x64_x86平台转x64平台关于内联汇编不再支持的解决
  3. VTK:图片之ImageEllipsoidSource
  4. Java—Iterator接口介绍及使用
  5. Dijkstra求最短路 II
  6. 杭电1229 还是A+B
  7. PHPOffice下PHPWord生成Word2007(docx)使用方法
  8. python中正则表达式_Python中正则表达式详解
  9. java读取properties文件详解
  10. 换IP软件如何使用,一起来看下换IP软件的使用教程
  11. 1700x关闭超线程超频_关闭锐龙9 3900X超线程 游戏帧数居然更高
  12. POJ1392: Ouroboros Snake 题解
  13. 荣耀手表magicwatch2鸿蒙,荣耀手表2 NFC门禁卡功能正式上线:再不怕忘带钥匙
  14. 【QScrollBar | QSlider | QDial | QProgressBar | QLCDNumber】
  15. 机器人控制算法一之四轴机械臂正、逆运动学详解
  16. 泣神曲服务器维护,泣神曲手游预约-泣神曲官网安卓版预约v1.0.0_第一手游网
  17. vue 实现上拉加载下拉刷新(思路贼清晰)
  18. DW字库生成以及ts3使用
  19. java架构师入门教程,java技术架构师入门到精通高薪就业教程百度云下载
  20. 光伏数据采集方案——逆变器,电表,气象站

热门文章

  1. 共性的缺失——由博客想到的
  2. JavaWeb——AOP
  3. Arcgis javascript那些事儿(十三)——距离面积计算
  4. ArcGIS Maritime Server 开发教程(六)Maritime Service 开发技巧
  5. 几种常见的可靠UDP传输协议(包含C#实现)
  6. 插入u盘被计算机限制怎么回事,电脑不读u盘怎么处理,显示本次操作由于计算机的限制而被取消 请您与系统管理员联系,怎门回事?...
  7. c语言中L''作用,L/C问题: 请问L/C上的49:Confirmation Instruction 有什么作用啊[1]
  8. java中cookie怎么用_java 中session和cookie的使用
  9. Spring+hibernate+JSP实现Piano的数据库操作---1.目录结构+展示
  10. spring配置数据源错误记录