等值数列段

XJTU_ 西安交通大学2020大学计算机作业-第九周 XJTU_ 西安交通大学2020大学计算机作业-第九周 XJTU_ 西安交通大学2020大学计算机作业-第九周 注:11题有三个用例没通过,我觉得没问题,周三改。 俺又更新了,还是求点星星???? 文章没上传到github,反正没人点星星:https://github.com/nobodyXX/XJTU_C_homework/blob/main/week7,如果这篇文章带给你了帮助或者灵感,欢迎给我点个星星,谢谢!!! 第一题 "一个数组A中存有n(n>0)个整数,在不允许使用另外数组的前提下,将每个 阅读详情

【题】

等值数列段


如果一个数列中的某一段(至少有两个元素)的各元素值均相同,则称之为等值数列段。等值数列段中元素的个数叫做等值数列段的长度。

输入:
        由N个元素组成的整数数列A(其中N<=50)

输出:
        A中长度最大的所有等值数列段的始末位置,如果没有等值数列段,则输出No equal number list.

说明:
        始末位置是指数组下标,即0表示第一个元素。
        如果有多个同等长度的等值数列,只输出第一个等值数列的起始位置。
        当在一个LIST中出现两个等长的连续串的时候,我们的答案应该是第一个等长串。


测试输入关于“测试输入”的帮助 期待的输出关于“期待的输出”的帮助 时间限制关于“时间限制”的帮助 内存限制关于“内存限制”的帮助 额外进程关于“{$a} 个额外进程”的帮助
测试用例 1 以文本方式显示
  1. 5↵
  2. 1 2 3 4 5↵
以文本方式显示
  1. No equal number list.↵
1秒 64M 0
测试用例 2 以文本方式显示
  1. 6↵
  2. 1 0 1 1 1 0↵
以文本方式显示
  1. The longest equal number list is from 2 to 4.↵
1秒 64M 0

【分析】
声明两个数组,一个是int arr_ src[100](source,“源”的意思)用来存原始的输入数据;另一个是int arr_res(result,"结果"的意思),用来存等值数列段的最大长度。
如arr_src[i] = n;表示输入的第i+1个数是n(数组是从0开始的)。
如arr_res[j] = m,表示对于数组arr_src[0] ~ arr_src[j]之间的数,等值数列段的最大长度为m。

步骤:
1、输入。
2、初始化arr_res[0] = 1;
3、做一个循环,从第2个数开始,即arr_src[1]开始,依次扫描arr_src中的值,
如果arr_src[i] == arr_src[i-1],那么长度在原来的基础上+1,arr_res[i] = arr_res[i-1] + 1;
如果arr_src[i] != arr_src[i-1],那么长度置1,arr_res[i] = 1;
4、上面的循环完成后,数组arr_res中的最大值就是最长的等指数列段。
做一个循环, 找出最大值。

例如:arr_src中存储{1,0,0,1,1,1,0,1,1,0}
则arr_res中的结果就是{1,1,2,1,2,3,1,2,1},最大值为3。

5、那如何求“长度最大的所有等值数列段的始末位置”呢???
 从arr_res的特点可以发现中圈出的部分是从1开始递增到最大值的,
设最大长度为m,m对应的角标是n,那么等值数列段的起始位置就是n-(m-1);末尾位置就是m;
【代码】
只贴出输入部分:


完整代码:

#include "stdio.h"

int main(int argc, char **argv)
{
	int n, i, arr_src[100] = {0}, max= 0, arr_res[100] = {1};
	scanf("%d", &n);
	getchar();
	for(i = 0; i < n; i++)
	{
		scanf("%d", &arr_src[i]);
		getchar();
		if (i > 0)
		{
			if(arr_src[i] == arr_src[i-1])
			{
				arr_res[i] = arr_res[i-1] + 1;
			}
			else if(arr_src[i] != arr_src[i-1])
			{
				arr_res[i] = 1;
			}
		}    	
	}
	int start, end;

	for(i = 0; i < n; i++)
	{
		if(arr_res[i] > max)
		{
			max = arr_res[i];
			end = i;
		}
	}
	start = end - (max - 1);
	if(max > 1)
		printf("The longest equal number list is from %d to %d.\n", start, end);
	else 
		printf("No equal number list.\n");

	return 0;
}


vtkContourFilter等值面(线) 图像处理与VTK/ITK文章列表 等值面(线) 抽取轮廓的操作对象是标量数据。其思想是:将数据集中标量值等于某一指定恒量值的部分提取出来。对于3D的数据集而言,产生的是一个等值面;对于2D的数据集而言,产生的是一个等值线。其典型的应用有气象图中的等温线、地形图中的等高线。对于医学数据而言,不同的标量值代表的是人体的不同部分,因而可以分别提取出人的皮肤或骨头。 等值线 提取等值线需要vtkC... 阅读详情

相关推荐

告别GUI点点点:Formality形式化验证的TCL脚本自动化实战(附完整脚本)

本文详细介绍了如何通过TCL脚本实现Formality形式化验证的全流程自动化,显著提升验证效率并降低错误率。内容涵盖脚本框架解析、参数化设计、验证报告生成及团队协作策略,特别适合芯片设计工程师摆脱传统GUI操作,实现300%以上的效率提升。

weixin_33737134的博客 282

【数列】等值数列段

如果一个数列中的某一段(至少有两个元素)的各元素值均相同,则称之为等值数列段。等值数列段中元素的个数叫做等值数列段的长度。输入: 由N个元素组成的整数数列A(其中N

weixin_61972874的博客 693

Cadence Allegro 17.4 保姆级教程:PCB位号重排与反标回原理图完整避坑指南

本文详细解析了Cadence Allegro 17.4中PCB位号重排与反标回原理图的全流程,包括安全工程准备、智能重排策略和反标黄金法则。特别针对芯片封装协同设计(Co-Design)场景,提供可追溯的版本管理和故障恢复方案,帮助工程师避免常见位号陷阱,确保设计文件一致性。

weixin_30613433的博客 438

大计基作业记录(5)

第十周计算机作业复习记录

StarK_Lzz的博客 2115

电路设计学习一:DAC/ADC原理

文章目录参考文献DAC基本原理DAC分类倒T型电阻网络权电流转换器DAC的性能指标分辨率转换速度ADC基本原理ADC分类ADC的性能指标ADC的位数分辨率基准源转换速率量化误差 参考文献 DAC数模转换/ADC模数转换 单片机 AD/DA数模转换 模数转换(A/D)与数模转换(D/A) DAC基本原理 DAC将输入的数字量按权的大小,通过电阻网络转化为模拟量,再通过加法电路,转换为与数字量成比例的模拟量。 实际上就是二进制转换为十进制的过程。 基本组成包括锁存器、电子开关、基准源、权电阻网络和求和电路。 锁

coin的博客 3万+

树莓派与无人机协同实战:基于OpenCV的地标识别优化策略

本文深入探讨了基于树莓派与无人机的协同系统,重点分享了利用OpenCV优化地标识别以实现精准降落的实战策略。内容涵盖从应对复杂光照的图像预处理、鲁棒的轮廓几何过滤,到通过ROS进行稳定通信,以及实现分层控制与状态机设计,旨在提升系统在真实环境中的可靠性与性能。

y2z3a4b5c的博客 1085

1.1 最长等值序列

最长平台 public class Test { public static void main(String args[]) { int a[] = new int[0]; //{1, 2, 2, 3, 3, 3, 4, 4, 5}; System.out.println(longest_plateau(a)); } public static int long

i am me,haha,么么哒。。。 1119

Android11.0系统中适配EC20模块4G及GPS功能

本文主要描述在RK3568Android11中适配EC20模块,启用4G与GPS功能。

yjz_0314的博客 2791

2021-04-27

C语言OJ题—xjtu大计基作业第十周 /*设数组A中存有n(n>0)个整数,在不允许使用另外数组的前提下,将A中的每个整数循环右移m(m>=0)个位置。即:将A中的数据由(A0A1……An-1)变换为(An-m…… An-1A0A1……An-m-1)。 要求:输入n ( 1<=n<=100)、m(m>=0)及n个整数,输出循环右移m位以后的整数序列。 输入:占二行,其中第1行:n和m两个数,n和m之间用空格分隔。 第2行:数组A中的n个数,各数之间用空格分隔(第一个数之前和最

weixin_46747850的博客 1万+

物联网通信中NB-IoT、Cat.1、LTE-M该如何选择?

首先我们要确定我们产品的关键需求,例如:我们的设备是否对数据传输速率有较高的要求,有较高要求我们就需要选择较高传输速率的Cat.1来开发我们的产品。同时关于产品性能方面,我们对功耗、延迟、可靠性也会有所要求,例如我们的产品为移动端产品,不方便布线以及安装电源,那我们就会采用电池供电的方式,所以在选择时可以优先考虑低功耗产品,最终结合其他需求选择出合适的协议。首先,我们需求的产品是不同的,我们需要根据产品需求或项目需求来进行选择,NB-IoT、Cat.1、Cat.M都有属于自己的优势。

a1809032425的博客 1215

游戏引擎揭秘:大厂为何死磕自研?

游戏引擎本质与商业价值解析 游戏引擎是集成了渲染、物理、动画等核心功能的开发工具包,其价值在于让开发者免于重复编写底层代码,专注于游戏内容创作。商业引擎(如Unity/Unreal)虽降低了开发门槛,但头部厂商仍坚持自研引擎,主要基于以下考量: 经济性:长期项目分摊自研成本后,比商业引擎分成更划算; 可控性:完全掌握底层代码,能针对性优化核心玩法需求; 技术壁垒:专属引擎成为厂商的竞争优势,如米哈游的跨平台渲染技术; 项目适配:超大型游戏(开放世界/MMO)需要深度定制解决方案。 这种"短期高投入

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 263

北理工乐学C语言 48.【数列】等值数列段

北理工乐学编程作业48.【数列】等值数列段

DInh_een的博客 1118

YOLOv10改进策略【注意力机制篇】| 2024 蒙特卡罗注意力(MCAttn)模块,提高小目标的关注度

本文记录的是基于蒙特卡罗注意力(MCAttn)模块的YOLOv10目标检测改进方法研究。利用提高的跨尺度特征提取能力,使模型能够更好地传递和融合提取的多尺度特征,提高对小目标的关注度。Exploiting Scale-Variant Attention for Segmenting Small Medical Objects使用一种基于随机采样的池化操作来生成尺度无关的注意力图。它从三个不同尺度(3×33×33×3、2×22×22×2和1×11×11×1,即池化张量)中随机选择一个1×11×11×1注意力图

Limiiiing的博客 2186

北理工C语言【数列】等值数列段

如果有多个同等长度的等值数列,只输出第一个等值数列的起始位置。即:当在一个LIST中出现两个等长的连续串时,答案应该是第一个等长串。A中长度最大的所有等值数列段的始末位置,如果没有等值数列段,则输出No equal number list.如果一个数列中的某一段(至少有两个元素)的各元素值均相同,则称之为等值数列段。等值数列段中元素的个数叫做等值数列段的长度。由N个元素组成的整数数列A(其中N<=50)始末位置是指数组下标,即0表示第一个元素。

2401_88118792的博客 179

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

最长等值数列段始末位置判断

#include<stdio.h> int main(){ int n; scanf("%d",&n); int a[n]; for(int i=0;i<n;i++) scanf("%d",&a[i]); int b[n]={0};//记录从第i点开始有几个数是一样的 for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ ...

qq_43351130的博客 455

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

C语言程序设计大赛题目两道

/*C语言程序设计大赛的第一题.*/ /*题目:找出一组数列(个数大于等于2)中长度最大的所有等值数列段,并指示其起始 位置、末尾位置,如果没有等值数列段,则标志出特殊字句.(题目好像大概中这一个意思) 所谓的等值数列段,比如数列:1 ,2 ,2 ,2 ,3 ,3 ,4.中的2,2,2和3,3就是所谓的等值数列段*/ /*我的想法:*/ /*要找出一组数列中的等值数列段,首先要考虑等值数列段有什么特征:起始位置、末位置以及长度. 但是要同时找出并记录它的三个特征,我觉得用一两个变量应该是很难

劉俊的专栏 2019

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C语言做题时答案错误,c语言05年答案,有两个空没做,请大家帮忙。

);}改为fwrite(s,2,7,fp);}36.fclose(fp);37.}五、编程题(每题15分,共30分)说明:按各题要求编程,否则不给分。1.编程序实现单链表的起泡排序。要求:(1)结点的数据域只有一个整数域;(2)N个结点的整数链表的建立过程,写一函数(create)实现,数据从键盘输入。2.如果一个数列中的任意一段(至少是两个元素)的各个元素均相同,我们称之为等值数列段。等值数列段...

weixin_29328371的博客 367

XJTU大计基作业-5(第11周)

【代码】XJTU大计基作业-5(第11周)

Nofearws的博客 2238

编程41-50

设数组A中存有nn>0)个整数,,将A中的每个整数循环右移mm>=0)个位置。即:将A中的数据由(A0A1……An-1)变换为(An-m-1。

ergexwz的博客 812

第十周作业

欸嘿,完蛋喽

weixin_68798281的博客 2801

求最长等值序列

求最长等值序列 (100/100 分数) 题目描述 给定一个数列A,如果其中有一段(至少含有两个元素)序列里面的元素都相等,则称这段序列为等值序列。我们的任务是求最长的等值序列 输入描述 第一行是数列的长度n,n&amp;lt;=50 第二行是n个数字 输出描述 输出最长等值序列在原始数列中的起始位置和末位置,数列的起始下标为0; 若有多个最长等值序列,输出第一个最长等值序列的起始位置和...

楼兰剑客 647

VTK笔记-CT图像获取皮肤等值面-vtkContourFilter类的使用

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例

黑山老妖的博客 4682
上一篇: 五年级小学生的题目
下一篇: 大家一起做游戏
NoNeil
博客等级 码龄15年 108粉丝 50原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值