求最大重叠区间大小
来源:互联网 发布:淘宝买官换机哪家靠谱 编辑:程序博客网 时间:2024/05/20 02:27
题目描述:请编写程序,找出下面“输入数据及格式”中所描述的输入数据文件中最大重叠
区间的大小。对一个正整数 n ,如果 n 在数据文件中某行的两个正整数(假设为 A 和 B)
之间,即 A<=n<=B 或 A>=n>=B ,则 n 属于该行;
如果 n 同时属于行 i 和 j ,则 i 和 j 有重叠区间;重叠区间的大小是同时属于行 i 和 j 的整
数个数。
例如,行( 10 20)和( 12 25)的重叠区间为 [12 20] ,其大小为 9,行(20 10)和(20 30 )
区间的大小。对一个正整数 n ,如果 n 在数据文件中某行的两个正整数(假设为 A 和 B)
之间,即 A<=n<=B 或 A>=n>=B ,则 n 属于该行;
如果 n 同时属于行 i 和 j ,则 i 和 j 有重叠区间;重叠区间的大小是同时属于行 i 和 j 的整
数个数。
例如,行( 10 20)和( 12 25)的重叠区间为 [12 20] ,其大小为 9,行(20 10)和(20 30 )
的重叠区间大小为 1 。
public class DupNumber {public static int solution(int a1,int b1,int a2,int b2){int aa1 = Math.min(a1, b1);int bb1 = Math.max(a1, b1);int aa2 = Math.min(a2, b2);int bb2 = Math.max(a1, b2);int flag = (bb1-aa1>bb2-aa2)?1:0;int stepMax = Math.min(bb1-aa1,bb2-aa2)+1;int count = 0;if(flag==1){for(int i=0; i<stepMax; i++){if(aa2+i>=aa1 && aa2+i<=bb1){++count;}}}else{for(int i=0; i<stepMax; i++){if(aa1+i>=aa2 && aa1+i<=bb2){++count;}}}return count;}public static void main(String[] args) {System.out.println(solution(10,0,10,25));System.out.println(solution(20,10,20,30));}}
0 0
- 求最大重叠区间大小
- 157 求最大重叠区间大小
- 最大重叠区间大小
- 面试题精选(69):求最大重叠区间大小
- 重叠区间大小
- codeforce 754-D(求最大k个重叠区间)
- 求区间最大值---找出下面“输入数据及格式”中所描述的输入数据文件中最大重叠区间的大小
- 最大不重叠区间
- 最大区间重叠.
- 求重叠区间
- 【数字题3】最大重叠子区间
- 笔记——最大重叠区间数
- 【算法】求两个区间的重叠长度
- Spoj 2916 Can you answer these queries V 线段树 求任意重叠区间的最大子段和
- HDU 1867 KMP 求最大尾部重叠
- 每天一到算法题--重叠区间大小
- 区间重叠
- 11776 - Oh Your Royal Greediness!(最大重叠区间)
- 字节序的那些事情
- Android Studio 快捷键(MAC)
- Swift即将开源,我必须要一步一步往前走
- js控制键盘按键(回车、空格
- Android图片的固定大小展示
- 求最大重叠区间大小
- [工作][JFACE,SWT] menu, toolBar
- 跨平台工程移植:opencv_pnp + artoolkitplus :ubuntu qtcreator--> windows qtcreator/ VS
- 安装mysql数据库服务器
- 信号未决与信号阻塞
- Oracle数据库闪回数据与表
- PHP长整型在32位系统中强制转化溢出
- Linux-Linux所有者,群组,其他人
- Datatables之开篇