面试题 08.14. 布尔运算
这个题我看了 标准答案理解了一下。 我觉得有一点不同的是我们写dp是因为它可以避免递归过程中大量重复的计算,大大提高效率。 而在这个题目中,我们是从最大范围一步一步往前缩小范围,看是否可以找到我们需要的方法。 递归的边界条件是范围为1,看它是否符合我们想得到的结果,然后返回上一层,在上一层我们会把左右两部分的方法数相乘,并且加到最后的结果中。
class Solution {
private char[] arr;
private int[][][] dp;
private int getBool(int val1,int val2,char operator)
{
switch(operator){
case '&':
return val1&val2;
case '|':
共有 0 条评论