csharp基础练习题:简单有趣#109:段封面【难度:1级】:
任务
鉴于一些点在同一直线上(数组矩阵A
),确定与长度线段的最小数目L
需要覆盖所有给定的点.如果它位于某一段内或在其边界的点被覆盖.
示例
对于A = [1,3,4,5,8]``和L = 3
,输出应该是2
.
看看下面为更好地理解图像:
对于A = [1,5,2,4,3]
和L = 1
,输出应该是3
.
SEGMENT1:1-2
(覆盖点1,2),
分段2:3-4
(覆盖点3,4),
段3:5-6
(覆盖点5)
对于A = [1,10,100,1000]
和L = 1
,输出应该是4
.
SEGMENT1:1-2
(覆盖点1),
分段2:10-11
(覆盖点10),
段3:100-101
(覆盖点100),
segment4:1000-1001
(覆盖点1000)
输入输出
- [输入]
整数数组A
上线点坐标的数组(所有点是不同的).
约束:
1≤则为a.length≤50,
-5000≤A [1]≤5000.
- [输入]``整数L
段长度,一个正整数.
限制:'1≤大号≤100.`
- [输出]
的整数
线段可以覆盖所有给定的点的最小数目.
编程目标:
namespace myjinxin
{
using System;
public class Kata
{
public int SegmentCover(int[] A, int L){
//coding and coding..
}
}
}
测试样例:
namespace myjinxin
{
using NUnit.Framework;
using System;
[TestFixture]
public class myjinxin
{
var kata=new Kata();
Assert.AreEqual(2,kata.SegmentCover(new int[]{1, 3, 4, 5, 8},3));
Assert.AreEqual(3,kata.SegmentCover(new int[]{-7, -2, 0, -1, -6, 7, 3, 4},4));
Assert.AreEqual(3,kata.SegmentCover(new int[]{1, 5, 2, 4, 3},1));
最佳答案(多种解法):
更多关联题目:
csharp高级练习题:让我们玩飞镖!【难度:3级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练
免责申明
本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/
https://www.codewars.com/kata/simple-fun-number-109-segment-cover