阿里笔试 使用 JavaScript 实现一个 getIntersection 函数,可获取多个区间的交集
示例:
getIntersection([1, 4], [3, 5]); // return [ 3, 4 ]
getIntersection([5, 2], [4, 9], [3, 6]); // return [ 4, 5 ]
getIntersection([1, 7], [8, 9]); // return null
getIntersection(['x', 7], [4, 9]); // return null
getIntersection([1, 2]); // return [ 1, 2 ]
getIntersection([1, 2], [2, 3]); // return [ 2, 2 ]
对于这一题,,,,表示不会实现函数接收不定参数,于是乎只做到了完成两个参数的
还是有太多东西不会啊
我的提交:
function getIntersection(args1 ,args2 ) { args1="'"+args1+"'"; args1a=args1.charAt(1); args1b=args1.charAt(3); args2="'"+args2+"'"; args2a=args2.charAt(1); args2b=args2.charAt(3); if(isNaN(args1a) || isNaN(args1b) || isNaN(args2a) || isNaN(args2b) ) return null; if(args1a>args1b){ chang=args1a; args1a=args1b; args1b=chang; } if(args2a>args2b){ change=args2a; args2a=args2b; args2b=change; } if(args1a<args2a){ if(args1b<args2b){ result2=args1b; result1=args2a; }else{ result2=args2b; result1=args2a; } }else{ changea=args1a; changeb=args1b; args1a=args2a; args1b=args2b; args2a=changea; args2b=changeb; if(args1b<args2b){ result2=args1b; result1=args2a; }else{ result2=args2b; result1=args2a; } } result="["+result1+","+result2+"]"; if(args1b<args2a) return null; return result; }
2019年09月09日 12:51 沙发
2019年09月24日 10:48 1层