网站的推广平台有哪些,国外网站设计风格,九江市住房和城乡建设厅网站,智能产品设计案例题目#xff1a;
给你一个下标从 0 开始的 非递减 整数数组 nums 。
你可以执行以下操作任意次#xff1a;
选择 两个 下标 i 和 j #xff0c;满足 i j 且 nums[i] nums[j] 。 将 nums 中下标在 i 和 j 处的元素删除。剩余元素按照原来的顺序组成新的数组
给你一个下标从 0 开始的 非递减 整数数组 nums 。
你可以执行以下操作任意次
选择 两个 下标 i 和 j 满足 i j 且 nums[i] nums[j] 。 将 nums 中下标在 i 和 j 处的元素删除。剩余元素按照原来的顺序组成新的数组下标也重新从 0 开始编号。 请你返回一个整数表示执行以上操作任意次后可以执行 0 次nums 数组的 最小 数组长度。
示例 1
输入nums [1,3,4,9] 输出0 解释一开始nums [1, 3, 4, 9] 。 第一次操作我们选择下标 0 和 1 满足 nums[0] nums[1] 1 3 。 删除下标 0 和 1 处的元素nums 变成 [4, 9] 。 下一次操作我们选择下标 0 和 1 满足 nums[0] nums[1] 4 9 。 删除下标 0 和 1 处的元素nums 变成空数组 [] 。 所以可以得到的最小数组长度为 0 。 示例 2
输入nums [2,3,6,9] 输出0 解释一开始nums [2, 3, 6, 9] 。 第一次操作我们选择下标 0 和 2 满足 nums[0] nums[2] 2 6 。 删除下标 0 和 2 处的元素nums 变成 [3, 9] 。 下一次操作我们选择下标 0 和 1 满足 nums[0] nums[1] 3 9 。 删除下标 0 和 1 处的元素nums 变成空数组 [] 。 所以可以得到的最小数组长度为 0 。 示例 3
输入nums [1,1,2] 输出1 解释一开始nums [1, 1, 2] 。 第一次操作我们选择下标 0 和 2 满足 nums[0] nums[2] 1 2 。 删除下标 0 和 2 处的元素nums 变成 [1] 。 无法对数组再执行操作。 所以可以得到的最小数组长度为 1 。
提示
1 nums.length 10^5 1 nums[i] 10^9 nums 是 非递减 数组。
java代码
class Solution {public int minLengthAfterRemovals(ListInteger nums) {int n nums.size();int left 0;for (int right (n 1) / 2; right n; right) {if (nums.get(left) nums.get(right)) {left;}}return n - 2 * left;}
}