for (int i = 0; i < len; i++) { for (int j = sum; j >= nums[i]; j--) { dp[j] = dp[j] | dp[j - nums[i]]; } } return dp[sum]; } 这个判断神奇数的代码什么意思?