想一个算法来解决问题的过程(这些问题不是text book上有标准answer的):先想/实现一个简单的情况,例如都没有相交(怎么判断相交?), 然后假如有某种相交,在原来实现的算法上加入一些cases,然后假如还有某种复杂的情况,在原来实现的算法上在加入一些cases.... (没有想到的某些情况,就留到bug了)....
1. 是一个渐进的过程。
2. 别老是想重写。
假如在假如某些cases or 想着想着 想要重写,多半不是good idea,因为很可能重写之后包含了新的cases但遗漏了旧的cases.
假如在过了一段时间回来这codes fix bugs时候,想要重写,多半不是good idea,因为很可能连当初为什么那样写都想不清楚or想不齐所有旧的cases.