网站导航条背景图片,做网站建设还有钱赚吗,3e网站建设,网站开发如何赚钱题目 给你一个下标从 0 开始的整数数组 nums #xff0c;如果满足下述条件#xff0c;则认为数组 nums 是一个 美丽数组 #xff1a; nums.length 为偶数对所有满足 i % 2 0 的下标 i #xff0c;nums[i] ! nums[i 1] 均成立 注意#xff0c;空数组同样认为是美丽数组。…题目 给你一个下标从 0 开始的整数数组 nums 如果满足下述条件则认为数组 nums 是一个 美丽数组 nums.length 为偶数对所有满足 i % 2 0 的下标 i nums[i] ! nums[i 1] 均成立 注意空数组同样认为是美丽数组。 你可以从 nums 中删除任意数量的元素。当你删除一个元素时被删除元素右侧的所有元素将会向左移动一个单位以填补空缺而左侧的元素将会保持 不变 。 返回使 nums 变为美丽数组所需删除的 最少 元素数目。 解题思路
首先对数组长度为1的特殊情况进行单独处理即直接删除唯一元素创建变量表示删除元素次数当前索引i(index)和下级索引i 1(next)通过while循环来遍历数组和对数组元素进行校验对删除元素后的数组进行判断是否为偶数非偶数则需要再删除一个元素(首元素或尾元素不影响原有数据结构);
代码展示
class Solution {public int minDeletion(int[] nums) {int n nums.length;if(n 1){return 1;}int deleteNum 0;//index 表示i next表示i1int index 0;int next 1;while (next n){if(nums[index] nums[next]){deleteNum;next;} else {index next 1;next 2;}}return (n - deleteNum) % 2 0 ? deleteNum : deleteNum 1;}
}