一道阿里笔试算法题(1)
Apr
27
今天笔试目测是跪了,单项基本靠蒙,考的范围太广,编程题只写了一道,并且还未答完。
回顾一下两道编程题里的第一道题:
说是有个人在个二维地图上行走,想从(0,0)走到(m,n),当中有许多激光线段(from (x1,y1) to (x2,y2)),所有未知量都是整型,试问那人可否绕过激光到达目的地。
我的策略是判断(0,0),(m,n),(m,0),(0,n)所围成的矩形是否会被这些线段切割成左和右(上下两边是否连通),或者上下(左右两边是否连通),左下和右上(左下两边是否连通(除去(0,0))或者右上两边是否连通(除去(m,n))),这里连通是指一组边能否通过激光束线段组成连通图。
由于没有python,所以不太顺手地写了java。判断连通,先查找和一个边相交的所有线段,然后再递归查找和那些线段相交的所有线段,最后看是否和另一个边相交。今天太晚了,明天看看有空能否用python实现一遍。
Comments
Comments are closed.