如图,每一行就是一个区间,行数不确定判断用户输入的区间不重复才能提交成功,不填就是默认的最大和最小可以选择包含或不包含对应的值,想得头都大了(T_T)
2 回答
qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
var source = [
{
min: {include: false, value: 10},
max: {include: true, value: 20}
},
...
]
类似这样的数据结构,再判断一下是否重复就行吧。
挨个从source中进行判断,相当于判断两条线段是否重复了。比如两条线段A、B。如果A.max <(=) B.min || A.min >(=) B.max。则这两条线就是不重复的。
富国沪深
TA贡献1790条经验 获得超9个赞
看了一下是不是可以用一个二维数组解决:
(function(arr){
for(let i=0;i<arr.length;i++){
if(arr[i][0] > arr[i][1]) return false;
if(arr[i+1] && arr[i][1] > arr[i+1][0]) return false;
}
return true;
})([[1,2],[3,4],[7,9]])
这个函数执行结果就是根据是否有重复的区间,如果有就返回false如果没有就返回ture。
至于包含不包含,就在于你如何初始化这个二维数组了。
添加回答
举报
0/150
提交
取消