【记录一下】第一题:打印倒金字塔第二题:栈操作进行数字合并。第三题:区间拓展,一个长度为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);}}```