1. 程式人生 > 其它 >Vue-雙向資料繫結(v-model)

Vue-雙向資料繫結(v-model)

1、面試題 08.14. 布林運算

考點:

1、DFS

class Solution:
    def countEval(self, s: str, result: int) -> int:
        self.ops = {
            '&': {
                True: [(True, True)],
                False: [(True, False), (False, True), (False, False)]
            },
            '|': {
                True: [(True, False), (False, True), (True, True)],
                False: [(False, False)]
            },
            '^': {
                True: [(True, False), (False, True)],
                False: [(True, True), (False, False)]
            }
        }

        return self.dfs(s, result, {})

    def dfs(self, s, target, memy):
        if (s, target) in memy:
            return memy[(s, target)]

        if len(s) == 1:
            return 1 if int(s) == target else 0

        all_count = 0
        for i in range(len(s)):
            if s[i] in self.ops:
                for ll,rr in self.ops[s[i]][target]:
                    all_count += self.dfs(s[:i], ll, memy) * self.dfs(s[i+1:], rr, memy)
        memy[(s, target)] = all_count
        return all_count