以下是编程任务文本的翻译: 给定一个整数数组 `nums` 和一个整数 `k`,你需要找到 **最长** 的连续子数组,使得该子数组可以通过 **重新排列** 元素后,变成一个 **严格递增** 的序列(即相邻元素差为 1)。换句话说,子数组中的元素经过重新排列后,可以形成形如 `[x, x+1, x+2, ..., x+m-1]` 的序列,其中 `m` 是子数组的长度。 返回满足条件的 **最长** 子数组的长度。 **示例 1:** ``` 输入:nums = [1,2,3,4,5], k =

TypeScript Hard arrays

任务 «以下是编程任务文本的翻译: 给定一个整数数组 `nums` 和一个整数 `k`,你需要找到 **最长** 的连续子数组,使得该子数组可以通过 **重新排列** 元素后,变成一个 **严格递增** 的序列(即相邻元素差为 1)。换句话说,子数组中的元素经过重新排列后,可以形成形如 `[x, x+1, x+2, ..., x+m-1]` 的序列,其中 `m` 是子数组的长度。 返回满足条件的 **最长** 子数组的长度。 **示例 1:** ``` 输入:nums = [1,2,3,4,5], k =»

给定一个整数数组。需要找到通过执行最多一次数组中任意两个元素的交换(包括不进行交换的情况)所能得到的最大子数组和。子数组必须是连续的。如果执行交换,则在查找子数组之前应用该交换,并且可以交换任意两个元素(不一定来自子数组)。请找出在最多一次交换后可能得到的最大子数组和。

输入格式

第一行包含一个整数 N (1 ≤ N ≤ 10^5) — 数组的长度。第二行包含 N 个整数 a_i (-10^4 ≤ a_i ≤ 10^4)。

输出格式

一个整数——经过最多一次重排后的子数组最大和。

示例

示例 1

输入
4 1 -2 3 4
输出
12

示例 2

输入
4 2 -1 -2 -3 -4
输出
4

示例 3

输入
shipped [{"id":1,"status":"pending","items":["book"]},{"id":2,"status":"pending","items":[]},{"id":3,"status":"pending","items":["pen","pencil"]}]
输出
[{"id":1,"status":"shipped","items":["book"]},{"id":2,"status":"pending","items":[]},{"id":3,"status":"shipped","items":["pen","pencil"]}]
main.ts