Divde & Conquer

def divide_conquer(problem, param1,param2,...):
# recursion terminator
    if problem is None:
        print_result
        return
    # prepare data
    data = prepare_data(problem)
    subproblems = split_problem(problem, data)

    # conquer subproblems
    subresult1 = self.divide_conquer(subproblems[0], p1, ...)
    subresult2 = self.divide_conquer(subproblems[1], p1, ...)
    subresult3 = self.divide_conquer(subproblems[2], p1, ...)
    ...

    # progress and generate the final result
    result = process_result(subresult1, subresult2, subresult3, ...)

实战题⽬目

  1. https://leetcode.com/problems/powx-n/description/
  2. https://leetcode.com/problems/majority-element/description/
  3. https://leetcode.com/problems/maximum-subarray/description/
  4. https://leetcode.com/problems/valid-anagram/#/description
  5. https://leetcode.com/problems/find-all-anagrams-in-a-string/#/description 6. https://leetcode.com/problems/anagrams/#/description
Last Updated: 9/27/2019, 5:01:51 PM