数轴点覆盖
来源:互联网 发布:php个人博客源码 简约 编辑:程序博客网 时间:2024/04/28 21:23
数轴上从左到右有n个点a[0],a[1],…a[n-1],给定一根长度为L的绳子,求该绳子能覆盖几个点。
#include <iostream>#include <cstring>using namespace std;int MaxCoverCount1(int* arr, int len, int L){ int maxCover = 1, nCurCount; for ( int i = 0; i < len; i++ ) { for ( int j = i+1; j < len; j++ ) { if ( (arr[j]-arr[i]) <= L ) { nCurCount = j-i+1; maxCover = (maxCover>nCurCount)?maxCover:nCurCount; } } } return maxCover;}int MaxCoverCount2(int *a,int n, int L){ if(a==NULL) return 0; int curr=0; int currCover=1; int maxCover=1; int begin=0; for(int i=1;i<n;i++){ if(curr>L){ while(curr+a[i]>=L && begin<i){ curr=curr-a[begin++]; currCover--; } curr+=a[i]; currCover++; } else { curr+=a[i]; currCover++; } cout<<curr<<endl; maxCover=max(maxCover,currCover); } return maxCover;}int main(){ int a[] = {1,10,90,105,150,200,203,250,300}; int Len = 100; cout << MaxCoverCount1(a,9,Len) <<endl; cout << MaxCoverCount2(a,9,Len) <<endl; return 0;}
0 0
- 数轴点覆盖
- 数轴上覆盖最多点的数目
- 数轴上一个点到其他点距离之和最小问题
- 求数轴上一点到数轴上一些点距离之和最小
- 数轴上从左到右有n个点a[0],a[1]…,a[n-1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。要求算法复杂度为o(n)。
- 数轴上从左到右有n个点、a[0] a[1]……a[n-1]给定一根长度为l绳子、求绳子最多覆盖其中几个点
- [经典面试题][百度]数轴上从左到右有n各点a[0], a[1], ……,a[n -1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。
- [经典面试题][百度]数轴上从左到右有n各点a[0], a[1], ……,a[n -1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。
- 数轴上从左到右有n个点a[0],a[1]…,a[n-1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。要求算法复杂度为o(n)。
- 最小点覆盖
- 点的覆盖圆
- poj1325最小点覆盖
- 点覆盖的次数
- poj_1325_最小点覆盖
- 最小点覆盖
- hdu1498最小点覆盖
- 最小点覆盖 模版
- poj2226(最小点覆盖)
- mq学习
- zoj 3816 Generalized Palindromic Number(暴力枚举)
- 并发编程--在执行器中执行任务并返回结果
- 多线程断点下载
- JSP隐含对象(1)
- 数轴点覆盖
- C++学习笔记21 多态遇上对象数组
- uva 12086 - Potentiometers (树状数组)
- zoj 3818 Pretty Poem(暴力枚举)
- MFC中CString转char *
- maven之读写pdf简单实例(pdfbox与itext)与pdfbox源码解析(访问者模式)
- iOS 视频加水印
- java语言Oracle、SQLServer、MySQL数据库的连接方法
- nyoj34韩信点兵