1.最长平台

  问题:已知一个从小到大的有序数组,这个数组中一个平台就是连续的一串

值相同的数,并且不可再延伸。请找出最长的平台。例如:1,2,2,3,3,3,3,4,5,5,6中

1,2,3,4,5,6各自是一个平台,找出连续最长的。

  先上python,本人思考问题后总是先用python实现,然后再转成c或者c++,

难道python实现起来容易?我感觉有点。

plateau.py :

 1 def num(a):
 2     t=a[0]
 3     c=0
 4     b=0
 5     tmp=0
 6     for i in a:
 7         if t==i:
 8             c+=1
 9         else:           
10             if b<c:
11                 tmp=t
12                 b=c
13             t=i
14             c=1
15     if b<c:
16             tmp=a[len(a)-1]
17             #b=c
18     return tmp
19 if __name__=='__main__':
20     a=[1,1,1,1,1,1,1,1,1,2,2,3,3,3,\
21        3,4,5,5,5,6,6,6,6,6,6,7,7,8,8,8,8,8,8,8,8,8,8]
22     print num(a)

c语言实现,plateau.c:

 1 #include <stdio.h>
 2 int num(int *a,int len)
 3 {
 4     int t=a[0];
 5     int c=0,b=0,tmp=0;
 6     for (int i =0;i<len;i++)
 7     {
 8         if(t==a[i])
 9             c++;
10         else{
11             if(b<c){
12                 tmp=t;
13                 b=c;
14             }
15             t=a[i];
16             c=1;
17 
18         }
19     }
20     if(b<c)
21         tmp=a[len-1];
22     return tmp;
23 }
24 int main()
25 {
26     int arr[]={1,1,1,1,1,1,1,1,1,2,2,3,3,3,3,4,5,5,5,6,6,6,6,6,6,7,7,8,8,8,8,8,8,8,8,8,8};
27     int tmp=num(arr,37);
28     printf("%d\n", tmp);
29     return 0;
30 }

程序跑起来后,感兴趣看看python程序与c的时间比较:

 1 $ time python plateau.py
 2 8
 3 
 4 real    0m0.144s
 5 user    0m0.015s
 6 sys     0m0.109s
 7 
 8 
 9 $ time ./plateau    //gcc -o plateau plateau.c
10 8
11 
12 real    0m0.046s
13 user    0m0.000s
14 sys     0m0.030s

  主要看红色两行与绿色两行分别相加的结果来比较,C程序可不是一般的快。

至于real时间主要是操作系统中存在中断,导致同一个程序运行时间差异可能也很大,

所以用real比较不太准确,上面的时间计算相对精确些。最近看算法,记录记录,要的要的。

  但是上面的程序效率不高,但是优点是能够很容易的知道哪个数连续最长。下面介绍一个

非常高效的计算出最长数连续多长,但是是哪个数最长,不好解决。主要思想是如果一个数n连续的

长度L,那么下一个比n长就自加L,否则L不变,继续下一个数。

simple.c :

 1 #include <stdio.h>
 2 int num(int *a,int length)
 3 {
 4     int len=1;
 5     int i;
 6     for(i=1;i<length;i++)
 7         if(a[i]==a[i-len])
 8             len++;
 9     return len;
10 }
11 int main()
12 {
13     int arr[]={1,1,1,1,1,1,1,1,1,2,2,3,3,3,3,4,5,5,5,6,6,6,6,6,6,7,7,8,8,8,8,8,8,8,8,8,8};
14     int tmp=num(arr,37);
15     printf("%d\n", tmp);
16     return 0;
17 }

 

转载于:https://www.cnblogs.com/wuchaofan/archive/2013/06/08/3127682.html

5.1-15.最长平台【1.9编程基础之顺序查找12】 15.最长平台【1.9编程基础之顺序查找12】 已知一个已经从小到大排序的数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在 1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3,4,5-5,6都是平台。试编写一个程序,接收一个数组,把这个数组最长的平台找出 来。在上面的例子中3-3-3就是最长的平台。 输入: 第一行有一个整数n,为数组元素的个数。第二行有n个整数,整数之间以一个空格分开。 输出: 输出最长平台的长度。 样例输入: 10 1 阅读详情

相关推荐

c++最长平台

题目:已知一个已经从小到大排序的数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3,4,5-5,6都是平台。 试编写一个程序,接收一个数组,把这个数组最长的平台找出来。在上面的例子中3-3-3就是最长的平台。 输入格式:第一行有一个整数n(n <= 1000),为数组元素的个数。第二行有n个整数,整数之间以一个空格分开。 输...

mxx 928

最长平台问题

1、题目 最长平台指的是在一串排列有序的数字中,找出最长的重复数字;例如有一数组为:[1,2,3,3,4,4,4,4,4,5,6,6,6],则最长平台是4,长度为5. 2、在寻找最长平台中的要求 1)使用尽量少的变量; 2)对数组的元素仅遍历一次; 3)使用代码语句越少越好。 3、方法 已经有人提出非常好的解决方法,他的思路:在最长平台中,首位的数字肯定是相同的,使用一个变量记录目前遍历到的最长平...

qq_34138163的博客 956

1116:最长平台.cpp

【题目描述】 已知一个已经从小到大排序的数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在 1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3,4,5-5,6都是平台。试编写一个程序,接收一个数组,把这个数组最长的平台找出来。在上面的例子中3-3-3就是最长的平台。 【输入】 第一行有一个整数n,为数组元素的个数。第二行有n个整数,整数之间以一个空格分开。 【输出】 输出最长平台的长度。

7-6 实验7_8_最长平台 (100 分)

给定一个长度为n的整数数组,数组中连续的相等元素构成的子序列称为平台。试设计算法,求出数组中最长平台的长度。 输入格式: 共2行,第一行为一个整数n(0<n<=1000),代表输入整数个数,第二行为n个用空格分隔的整数。测试用例保证所有整数可以用int存储。 输出格式: 只有一行,为一个整数,代表输入数组的最长平台长度。 输入样例: 15 1 1 2 2 4 5 7 7 7 7 7 7 3 3 9 输出样例: 6 代码实现: #include <stdio.h&

qq_62560218的博客 743

ORB-SLAM3复现的详细过程——配置安装及ROS和脚本运行---Ubuntu20.04

所提供的图像具有高动态范围,事先进行了光度标定,用20Hz的帧率采集,分辨率为1024像素*1024像素;需要下载数据集dataset-room1_512_16和rgbd_dataset_freiburg1_desk。在一键安装ROS后,只需要再安装Pangolin即可,其他所有的需要都已经存在。用微型飞行器采集的视觉惯性数据集,包含双目相机和IMU同步测量数据及位姿的真值。第二条命令中的${ROS_PACKAGE_PATH}是自己文件的路径。其采用的相机和IMU传感器,在硬件上进行了时间同步。

琉璃轻纱的博客 1万+

自监督学习与上下文赌博机融合:视觉决策中的协同优化与实战指南

在机器学习领域,自监督学习(Self-Supervised Learning)通过设计前置任务从无标注数据中学习通用表征,已成为解决标注数据稀缺问题的关键技术。其核心原理是利用数据自身的结构生成监督信号,训练编码器提取鲁棒特征。上下文赌博机(Contextual Bandits)作为强化学习的简化分支,专注于在给定上下文信息下做出单步最优决策,平衡探索与利用,广泛应用于推荐系统、广告投放等场景。将两者结合,构建端到端的协同训练框架,能让视觉表征的优化直接服务于最终的决策目标,同时利用自监督任务作为正则化项提

weixin_33721344的博客 520

最长平台

题目描述已知一个数组,说这个数组中的一个平台(Plateau),就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在 1,2,2,3,3,3,4,5,5,6 中 1,2,2,3,3,3,4, 5,5,6 都是平台。试编写一个程序,接收一个数组,把这个数组中最长的平台找出来。在上面的例子中 3,3,3 是该数组中最长的平台。(注:为了 方便,测试用例的数组最大长度都不超过 100,数组中的...

Richard的博客 976

STM32F103C8T6的PC13-15引脚配置避坑指南:为什么你的IO口不工作?

本文详细解析了STM32F103C8T6的PC13-15引脚作为普通IO口不工作的原因及解决方案。这三个引脚默认关联侵入检测和低速外部时钟等特殊功能,需先禁用TAMPER和LSE,并开启AFIO时钟,才能正确配置为普通GPIO。文章提供了标准外设库和HAL库的配置步骤、常见问题排查方法及硬件设计注意事项。

weixin_29169899的博客 523

最长平台题解

将数组中连续的相同段叫做一个平台,例如,在 11,22,22,33,33,33,44,55,55,66 中 (11),(22,22),(33,33,33),(44),(55,55),(66) 都是平台。输入为两行:第一行是数组中元素的个数 𝑛n(1<=𝑛<=100001<=n<=10000),第二行是 𝑛n 个整数,每两个整数之间用空格分隔。想请你编写一个程序,接收一个数组,找出最长的平台。在上面的例子中 (33,33,33) 就是最长的平台。循环找出所有平台,再比较大小,找出最长平台。

DXCcn的博客 618

VCSA的vmware-updatemgr服务无法启动和vSAN界面报“certificate chain is not trusted and thumbprint doesn‘t match”处理

"Unable to update CM service info"和"Server certificate chain is not trusted and thumbprint doesn't match"问题处理

jetliu05的博客 1883

告别混乱!用Cadence Capture CIS高效管理你的原理图库:以单逻辑器件K9F2G08U0M为例

本文以单逻辑器件K9F2G08U0M为例,详细介绍了如何使用Cadence Capture CIS高效管理原理图库。通过三级分类体系、工程化命名规范和智能检索技术,帮助工程师实现从混乱到有序的转变,提升团队协作效率和设计准确性。

aizhi0169的博客 400

openjudge 1.9.12 最长平台

顺序查找

weixin_60869516的博客 306

【Android调试】高通adb识别不到设备的完整排查指南:从驱动到端口一步到位

本文系统梳理高通(Qualcomm)平台Android设备adb无法识别的完整排查流程。从最基础的USB连接检查开始,到Windows设备管理器中驱动状态的判断、高通USB驱动的正确安装与更新方法,再到adb端口被占用、USB调试未开启、驱动签名校验失败等高频场景的解决方案。每一步均配截图和操作命令,文末附常见报错速查表,适合做系统开发、刷机调试或者Android Framework bringup时遇到adb不通的工程师快速定位。

weixin_44081096的博客 282

1.1 最长平台

# -*- coding: cp936 -*- ''' 问题:已知一个已经从小到大排序好的数组,说这个数组中的一个平台, 就是连续的一串值相同的元素,并且这一串元素不能再延伸。 例如,在1,2,2,3,3,3,4,5,5,6中1,2.2,3.3.3,4,5.5,6都是平台。 3.3.3为最长平台 试编写一个程序,接收一个数组,把这个数组中的最长平台找出来。 感觉有点像求最长序列和 ''' def

剑有偏锋的窝 1284

智驾芯片新天团!NVIDIA Thor vs 高通8797 vs 蔚来神玑NX9031,2025-2026谁能称王?

应用场景推荐芯片理由高阶NOA + L4 Robotaxi千TOPS以上,满足BEV+TransformerL2+/L3级别NOAThor-U / 高通8797算力适中,功耗控制佳,生态成熟经济型城市NOAThor-Z / S性价比均衡,适合前装普及自研平台一体化NX9031华为之外最强自研整合方案📌 TOPS不再是天花板,GPU、带宽、功耗、上市时间和车企绑定都是决胜关键📌 Thor系列仍然统治高端,但国产神经元开始觉醒📌 智驾芯片的选择,从“强”走向“适合场景”

weixin_43199439的博客 2646

Python爬虫实战:高效爬取华尔街日报文章的技术与代码详解

在当今信息爆炸的时代,金融数据和分析对于投资者、研究人员和企业决策者来说至关重要。华尔街日报(WSJ)作为全球最具影响力的财经媒体之一,其文章内容具有极高的价值。本文将详细介绍如何使用Python最新技术构建一个高效、稳定的华尔街日报文章爬虫,涵盖从基础到高级的各种技术要点。本文详细介绍了如何使用Python最新技术构建一个高效、稳定的华尔街日报文章爬虫。我们从基础爬虫实现开始,逐步添加了高级功能如分布式处理、反反爬虫策略、数据清洗和存储等。异步处理:使用asyncio和httpx实现高性能网络请求。

2201_76125261的博客 385

问题1:最长平台问题

一个从小到大排列的数组,这个数组中的一个平台就是连续的一段值相同的元素。例如:12233345中22,333等都是平台,333为最长平台。试编写程序,接收一个数组,把这个数组中的最长的平台找出来。 要求:简单,效率高;    /**////     /// 返回最长平台    ///     /// 字符串数组    /// 最长平台长度    public int longest

轻轻的你来了,那么可爱! 1359

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

1.最长平台问题

已知一个已经从小到大排好序的数组,这个数组的一个平台就是一连续的一串值到相等的元素,并且这一串元素不能再延伸,例如,在 [1,2,2,3,3,3,4,5,5,6]中[1],[2,2],[3,3,3],[4],[5,5],[6]都是平台,最长平台问题就是求一个排好序数组的最长平台 。

万里之书 1163

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

信息学奥赛一本通 1116:最长平台 | OpenJudge NOI 1.9 12:最长平台 | 洛谷 B2097 最长平台

【题目链接】 ybt 1116:最长平台 OpenJudge NOI 1.9 12:最长平台 洛谷 B2097 最长平台 【题目考点】 1. 数组中做统计 2. 求最大值 【解题思路】 解法1:遍历并计数 设临时统计长度len(初值为0),最大长度maxLen(初值0),上一个数字lastNum(初值设为与要输入的数字都不同的数字,如-1) 将数据输入整型数组a 遍历数组a 如果当前查看的元素a[i]与上一个数字lastNum相同,那么len增加1 如果当前查看的元素a[i]与上一个数字lastNum不

君义NOIP的博客 7831

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

OpenJudge-1.9.12:最长平台

OpenJudge-1.9.12:最长平台

just_panlei的博客 328

1.9 编程基础之二分查找 12 最长平台 python

http://noi.openjudge.cn/ch0109/12/ """ 1.9 编程基础之二分查找 12 最长平台 http://noi.openjudge.cn/ch0109/12/ Python字符串去重 https://www.jianshu.com/p/b9162f389b5c https://www.cnblogs.com/zhenghiber/p/15110871.html Python:对输入的单词进行字典序排序输出 https://www.cnblogs.com/JodieR

青少年趣味编程 574

NOI / 1.9编程基础之顺序查找 12:最长平台

12:最长平台 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 已知一个已经从小到大排序的数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在 1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3,4,5-5,6都是平台。试编写一个程序,接收一个数组,把这个数组最长的平台找出 来。在上面的例子中3-3-3就是最长的平台。 输入 第一行有一个整数n(n <= 1000),为数..

qq_60642811的博客 499

NOI / 1.9编程基础之顺序查找 12:最长平台 unordered_map 哈希

已知一个已经从小到大排序的数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在 1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3,4,5-5,6都是平台。试编写一个程序,接收一个数组,把这个数组最长的平台找出 来。在上面的例子中3-3-3就是最长的平台。第一行有一个整数n(n <= 1000),为数组元素的个数。第二行有n个整数,整数之间以一个空格分开。输出最长平台的长度。

2303_79132118的博客 271

洛谷 B2097 最长平台 dp思路

dp思路:dp[i] 表示以第 i 个数为结尾的最长平台,如果第 i 项等于第 i−1 项,则可以把它接在前一个平台后面,即 dp[i]=dp[i−1]+1。

m0_72677274的博客 313

oj 1.9 12:最长平台

这个题和前面一道求连续字符的题很像。

2301_80062106的博客 526
上一篇: matplotlib
下一篇: Linux下的命令技巧
Sight2012
博客等级 码龄12年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值