AI Agent开发实战:LangChain、LangGraph与MCP核心要点解析
2026/9/1 12:34:56
给你一个长度为 n 的整数数组 nums 和一个正整数 k 。 一个数组的 能量值 定义为: 如果 所有 元素都是依次 连续 且 上升 的,那么能量值为 最大 的元素。 否则为 -1 。 你需要求出 nums 中所有长度为 k 的 子数组 的能量值。 请你返回一个长度为 n - k + 1 的整数数组 results ,其中 results[i] 是子数组 nums[i..(i + k - 1)] 的能量值。 示例 1: 输入:nums = [1,2,3,4,3,2,5], k = 3 输出:[3,4,-1,-1,-1] 解释: nums 中总共有 5 个长度为 3 的子数组: [1, 2, 3] 中最大元素为 3 。 [2, 3, 4] 中最大元素为 4 。 [3, 4, 3] 中元素 不是 连续的。 [4, 3, 2] 中元素 不是 上升的。 [3, 2, 5] 中元素 不是 连续的。 示例 2: 输入:nums = [2,2,2,2,2], k = 4 输出:[-1,-1] 示例 3: 输入:nums = [3,2,3,2,3,2], k = 2 输出:[-1,3,-1,3,-1] 提示: 1 <= n == nums.length <= 500 1 <= nums[i] <= 105 1 <= k <= nclassSolution{public:vector<int>resultsArray(vector<int>&nums,intk){intn=nums.size();vector<int>s={0},ans;for(inti=1;i<n;i++){if(nums[i]-nums[i-1]==1)s.push_back(1+s[i-1]);elses.push_back(s[i-1]);}for(inti=0;i<n-k+1;i++){if(s[i+k-1]-s[i]==k-1)ans.push_back(nums[i+k-1]);elseans.push_back(-1);}returnans;}};放三个车的价值之和最大 I 显示英文描述
通过的用户数360 尝试过的用户数942 用户总通过次数522 用户总提交次数3488 题目难度Hard 给你一个 m x n 的二维整数数组 board ,它表示一个国际象棋棋盘,其中 board[i][j] 表示格子 (i, j) 的 价值 。 处于 同一行 或者 同一列 车会互相 攻击 。你需要在棋盘上放三个车,确保它们两两之间都 无法互相攻击 。 请你返回满足上述条件下,三个车所在格子 值 之和 最大 为多少。 示例 1: 输入:board = [[-3,1,1,1],[-3,1,-3,1],[-3,2,1,1]] 输出:4 解释: 我们可以将车分别放在格子 (0, 2) ,(1, 3) 和 (2, 1) 处,价值之和为 1 + 1 + 2 = 4 。 示例 2: 输入:board = [[1,2,3],[4,5,6],[7,8,9]] 输出:15 解释: 我们可以将车分别放在格子 (0, 0) ,(1, 1) 和 (2, 2) 处,价值之和为 1 + 5 + 9 = 15 。 示例 3: 输入:board = [[1,1,1],[1,1,1],[1,1,1]] 输出:3 解释: 我们可以将车分别放在格子 (0, 2) ,(1, 1) 和 (2, 0) 处,价值之和为 1 + 1 + 1 = 3 。 提示: 3 <= m == board.length <= 100 3 <= n == board[i].length <= 100 -109 <= board[i][j] <= 109