博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(笔试题)最大覆盖点
阅读量:5278 次
发布时间:2019-06-14

本文共 489 字,大约阅读时间需要 1 分钟。

题目:

坐标轴上从左到右依次的点为a[0]、a[1]、a[2]……a[n-1],设一根木棒的长度为L,求L最多能覆盖坐标轴的几个点?

思路:

这是一道简单的数组题,

方法也很简单:直接从左到右扫描,两个指针i和j,i从位置0开始,j从位置1开始,如果a[j] - a[i] <= L(采用<=,是因为可能某个区间不能刚好等于L),则j++,并记录中间经过的点个数,如果a[j] - a[i] > L,则j--回退,覆盖点个数-1,回到刚好满足条件的时候,将满足条件的最大值与所求最大值比较,然后i++,j++,直到求出最大的点个数(结果可能有多种情况,只取第一次满足的情况)。

代码:

#include
using namespace std;int maxCover(int a[],int n,int L){ int i=0,j=1; int count=1,maxCount=1,start; while(i

运行结果:

转载于:https://www.cnblogs.com/AndyJee/p/4561217.html

你可能感兴趣的文章
NOIP2016提高A组五校联考2总结
查看>>
iOS 项目的编译速度提高
查看>>
table中checkbox选择多行
查看>>
Magento开发文档(三):Magento控制器
查看>>
性能调优攻略
查看>>
ie6解决png图片透明问题
查看>>
瞬间的永恒
查看>>
2019-8-5 考试总结
查看>>
JS中实现字符串和数组的相互转化
查看>>
web service和ejb的区别
查看>>
Windows Azure Cloud Service (29) 在Windows Azure发送邮件(下)
查看>>
CS61A Efficiency 笔记
查看>>
微信上传素材返回 '{"errcode":41005,"errmsg":"media data missing"}',php5.6返回
查看>>
div或者p标签单行和多行超出显示省略号
查看>>
Elasticsearch 滚动重启 必读
查看>>
Hadoop基本概念
查看>>
java.util.zip压缩打包文件总结一:压缩文件及文件下面的文件夹
查看>>
浅说 apache setenvif_module模块
查看>>
MySQL--数据插入
查看>>
重新学习python系列(二)? WTF?
查看>>