1. 贪心 100%2. 前缀和 + 数学优化 100%i 就是用反转的地方,j 就是用反转后走到的地方-preSum[i] + (preSum[j] - preSum[i]) = -2 x preSum[i] + preSum[j]也就是找两个值(0 <= i < j <= n-1),使得当走到 i 时,preSum[j] 值要取最小或者最大值这里用两个数组保存 preSum[i~n-1] 的最大和最小值,最后依次遍历,当遍历到 preSum[i] 时,取 preSumMaxPost[i+1] 或 preSumMinPost[i+1] 作为 preSum[j],比较最大值PS:需要考虑特殊情况,就是一次反转都没用,那就直接 res = max(res, abs(preSum[i+1])); 即可3. 动态规划/记忆化搜索 100%动态规划一时紧张没写出来,转头写了记忆化搜索,搜索的条件就是当前页码、剩余分钟数4. 排序 + 贪心 100%先排序获得所有身高可选的所有座位号,然后贪心再次把每种身高的座位号按照优先前排、再优先最右侧进行排序,最后按照到场顺序,依次选择每种身高的座位号