1class Solution {2public int tallestBillboard(int[] rods) {3int[] result = new int[1];4dfs(rods, 0, 0, 0, rods.length, result);5return result[0];6}78private void dfs(int[] rods, int left, int right, int level, int n, int[] result) {9if (level == n) {10if (left == right) {11result[0] = Math.max(left, result[0]);12}13return;14}1516dfs(rods, left, right, level + 1, n, result);17dfs(rods, left + rods[level], right, level + 1, n, result);18dfs(rods, left, right + rods[level], level + 1, n, result);19}20}