下述代码问题:
- 原始代码中使用了dp和m两个容器,而修改后的代码只使用了dp一个容器。原来的unordered_map
m用于记录每个元素出现的次数,但在修改后的代码中没有对应的记录。
修正后的代码应该如下:
int n = nums.size();
sort(nums.begin(), nums.end());
vector<int> dp;
unordered_map<int, int> m;
dp.push_back(nums[0]);
m[nums[0]] = 1;
for (int i = 1; i < n; i++) {
if (nums[i] != dp.back()) {
dp.push_back(nums[i]);
}
m[nums[i]]++;
}
这样保持了原有逻辑,并正确地记录了每个元素出现的次数。
内容由零声教学AI助手提供,问题来源于学员提问