java算法设计思路