数轴上从左到右有n个点a[0],a[1]…,a[n-1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。要求算法复杂度为o(n)。
来源:互联网 发布:知牛财经直播违法吗 编辑:程序博客网 时间:2024/04/29 16:30
数轴上从左到右有n个点a[0],a[1]…,a[n-1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。要求算法复杂度为o(n)。
void maxCover(int* a, int n, int l) {
int maxCover = 1;
int beginPos = 0, endPos = 1;
while (endPos <= n – 1 ) {
if (a[endPos] – a[beginPos] >= l) {
If (a[endPos] – a[beginPos] == l ) {
maxCover = endPos–beginPos + 1; // 正好
} elseif (a[endPos] – a[beginPos] > l ) {
maxCover = endPos–beginPos; // 回退一个点
}
beginPos++; // 起点右移一位
}
endPos++;
}
return maxCover;
}
- 数轴上从左到右有n个点a[0],a[1]…,a[n-1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。要求算法复杂度为o(n)。
- 数轴上从左到右有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绳子、求绳子最多覆盖其中几个点
- 坐标轴上从左到右依次的点为a[0]、a[1]、a[2]……a[n-1],设一根木棒的长度为L,求L最多能覆盖坐标轴的几个点?
- 给定一系列x轴的点坐标,例如 1,3,7,8,9,11这些坐标升序放在数组中,现在给一根绳子,长度为4,问绳子最多能覆盖的点数有多少,例如绳子放前面只能覆盖两个点,1,3,如果放后面能覆盖4个点。
- 平面上n个点,半径为r的圆最多能覆盖几个点
- 求绳子最多能覆盖的点
- 时间复杂度为o(N)查找1至N-1构成的a[N]重复元素
- 时间复杂度为o(N)查找1至N-1构成的a[N]重复元素
- 时间复杂度为o(N)查找1至N-1构成的a[N]重复元素
- 有1,2,…,n的无序数组,求排序算法,并且要求时间复杂度为O(n),空间复杂度O(1),一次只能交换两个数
- 长度为M的数组A,找出位置N,使得A[0]...A[N-1]和A[N]...A[M - 1]的和的乘积为最大。
- a[0]变为a[1]到a[n-1]的积,a[1]变为a[0]和a[2]到a[n-1]的积,……a[n-1]为a[0]到a[n-2]的积。要求:具有线性复杂度。不能使用除法运算符。
- 有1,2...一直到n的无序数组,求排序算法,并且要求时间复杂度为O(n),时间复杂度为O(1)
- C/C++面试之算法系列--时间复杂度为o(N)查找1至N-1构成的a[N]重复元素
- 两个无序数组分别叫A和B,长度分别是m和n,求中位数,要求时间复杂度O(m+n),空间复杂度O(1) 。
- 大数据时代的历史机遇-产业变革与数据科学
- usaco 2011 Dec Gold(Grass Planting-树链剖分第一题)
- (AI-TANK)做匀加速直线运动
- RTP/RTCP/RTSP/SIP/SDP概念
- 异或操作总结
- 数轴上从左到右有n个点a[0],a[1]…,a[n-1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。要求算法复杂度为o(n)。
- MySQL源代码学习环境搭建
- 对于一个有序(升序排列)的数组a,查找所有比i(i不在a中)大的数,请写出关键代码
- 习近平强调:建设一支宏大高素质干部队伍
- 某32位系统下, C++程序,请计算sizeof 的值.
- QT笔记:数据库总结(四)之SQL模型类-QSqlRelationalTableModel模型
- 字符串常量存放在静态存储区
- C/C++数组名与指针区别
- 编写strcat函数