Skip to content
java
public void divideConquer(problem, param1, param2,...) {
       // 递归的终止条件
       if (problem != None) {
           return result;
       }
       // 准备数据
       data = prepareData(problem);
       // 分割子问题
       subProblem = splitProblem(problem, data);
       // 处理子问题
       subResult1 = divideConquer(subProblem[0], param1, param2,...);
       subResult2 = divideConquer(subProblem[0], param1, param2,...);
       subResult3 = divideConquer(subProblem[0], param1, param2,...);
       ...
       // 合并结果
       processResult(subResult1, subResult2, subResult3,...);
       // 清理当前状态集
   }

Released under the MIT License.