【记录一下】第一题:打印倒金字塔第二题:栈操作进行数字合并。第三题:区间拓展,一个长度为n的数组,从x位置出发,初始区间是[x,x],可以向左或向右拓展,得分即区间内元素的和,但是要求只有在要拓展的元素比当前得分大的时候才可以拓展。出来之后看大家的提示才知道是dfs。```javapublic class Solution { public int[] findMax(int[] arr){ int[] res = new int[arr.length]; for(int i = 0; i < arr.length; i++){ res[i] = dfs(arr, i, 0); } return res; } public int dfs(int[] arr, int s, int sum){ // arr从s位置开始扩展能获得的最大得分 if(s < 0 || s >= arr.length) return sum; sum += arr[s]; int left = sum, right = sum; if(s > 0 &amp;&amp; arr[s - 1] > sum){ left = dfs(arr, s - 1, sum); } if(s < arr.length - 1 &amp;&amp; arr[s + 1] > sum){ right = dfs(arr, s + 1, sum); } return Math.max(left, right); }}```