【小米校招笔试】给定一些线段,线段有起点和终点,求这些线段的覆盖长度,重复的部分只计算一次
来源:互联网 发布:知乎如何发问题 编辑:程序博客网 时间:2024/06/05 08:35
2016年小米校招笔试第一题(西安站)
1 给定一些线段,线段有起点和终点,求这些线段的覆盖长度,重复的部分只计算一次。
参考解法(Java版):
package XiaoMi;/******************************************************** * 算法思想:将长线段细分为长度为1的小段,用布尔数组记录每一个小段; * 遍历所有长段,如果有覆盖则在数组中把该索引处的布尔值标记为ture; * 最后,遍历布尔数组中所有值为ture的小段个数,即为所求总覆盖长度。 * ******************************************************/public class test13 {// 指定线段中点的最大范围private final static int N = 99999;// 布尔数组用来记录已覆盖小段private static boolean b[];// 定义线段的数据结构class XianDuan {int start; //线段起点int end; //线段终点}// 遍历布尔数组求总覆盖长度static int sum(XianDuan[] xd) {b = new boolean[N];int start = 0;int end = 0;// 标记过程for (int i = 0; i < xd.length; i++) {for (int j = xd[i].start; j < xd[i].end; j++) {b[j] = true;//System.out.println("置为true");}// 找到boolean数组索引的最大值if (xd[i].end > end) {end = xd[i].end;}// 找到boolean数组索引的最小值if (xd[i].start < start) {start = xd[i].start;}}// 统计过程int count = 0;for (int i = start; i < end; i++) {if (b[i]) {count++;}}return count;}public static void main(String[] args) {/* * A a = new A(); A.B b = a.new B(); //内部类实例化 */test13 tt = new test13();test13.XianDuan x1 = tt.new XianDuan();x1.start = 1;x1.end = 3;test13.XianDuan x2 = tt.new XianDuan();x2.start = 2;x2.end = 6;test13.XianDuan x3 = tt.new XianDuan();x3.start = 11;x3.end = 12;test13.XianDuan x4 = tt.new XianDuan();x3.start = 10;x3.end = 14;XianDuan xx[] = { x1, x2, x3, x4 };System.out.println(sum(xx));}}
运行结果:
9
0 0
- 【小米校招笔试】给定一些线段,线段有起点和终点,求这些线段的覆盖长度,重复的部分只计算一次
- rcgis api for flex求线段的起点,终点和中点
- ArcGIS API for Flex求线段的起点、终点和中点
- arcgis api for flex求线段的起点,终点和中点
- 线段的覆盖长度
- 小米一道笔试题 求直线上的线段覆盖点的个数
- UVA10020用最少的线段去覆盖给定的线段
- 转载:一个一维数轴上有不同的线段,求重复最长的两个线段
- 求一组线段的覆盖范围
- hdu 1255 覆盖的面积 线段树求重复覆盖的面积
- 线段覆盖长度
- 线段覆盖长度
- 线段覆盖长度
- Canvas线段终点和连线
- 16:计算线段长度
- 计算线段的交点
- 不带权的线段覆盖问题
- HDU1255 覆盖的面积 (线段树求面积交)
- 七牛---设置notifyURL没有收到回调
- Java微信开发-服务器配置等信息-
- SQL注入——如何防御(三)
- C++primer学习:关联容器(2)
- HDU1556 Color the ball 树状数组(区间更新单点求值)
- 【小米校招笔试】给定一些线段,线段有起点和终点,求这些线段的覆盖长度,重复的部分只计算一次
- Apache2 httpd.conf 配置详解(一)
- # xamarin 自动绑定工具sharpie使用介绍
- Apache2 httpd.conf 配置详解 (二)
- bash regex 正则
- 监听android wifi状态变化监听
- cydia substrate android permission denied Script Failure
- iOS开发系列--通知与消息机制
- PASSION之Logback(1)