第61天(中等题 数据结构)
打卡第六十一天
2道中等题

题目:

思路:贪心,从左到右遍历,尽可能保留更多元素

代码:
class Solution {
public:
int minDeletion(vector<int>& nums) {
for (int i = 0; i < n - 1; i++) {// 只遍历到倒数第二个元素
if ((i - count) % 2 == 0 && nums[i] == nums[i + 1]) {//当前元素在新数组中位于偶数索引位置且当前元素和下一个元素相等
// (i - count) 表示当前元素在新数组中的索引
count++; // 每次删除元素后,后续元素在新数组中的索引都会向前移动一位
}
}
return (n - count) % 2 == 0 ? count : count + 1;// 如果长度是偶数,返回删除次数 count,长度是奇数,额外删除最后一个元素,返回 count + 1
//(n - count)新数组长度
}
};
耗时≈一小时 明天继续

浙公网安备 33010602011771号