小编Liu*_*ohn的帖子

C ++在我的计算机上工作正常,但在leetcode上出现地址清理程序堆缓冲区溢出错误

我试图解决leetcode问题“ 929.唯一的电子邮件地址”,该代码在我的计算机上的Visual Studio Code上运行良好,但是当我将其粘贴到leetcode上时,出现了地址清理器堆缓冲区溢出错误。代码如下所示:

class Solution {
 public:
  int numUniqueEmails(vector<string>& emails) {
    string::iterator it;
    for (int i = 0; i < emails.size(); i++) {
      for (it = emails[i].begin(); *it != '@'; it++) {
        if (*it == '.') {
          emails[i].erase(it);
          it--;
        }
        if (*it == '+') {
          while (*it != '@') {
            emails[i].erase(it);
          }
          break;
        }
      }
      sort(emails.begin(), emails.end());
      for (int j = 0; j < emails.size(); j++) {
        if (emails[j] == emails[j + 1]) {
          emails.erase(emails.begin() + j);
          j--;
        } …
Run Code Online (Sandbox Code Playgroud)

c++

5
推荐指数
1
解决办法
3318
查看次数

按奇偶校验排序数组结果不可靠

我是一名新程序员,我正在尝试按奇偶校验对整数向量进行排序-将偶数放在赔率前。奇数或偶数内部的顺序本身并不重要。例如,给定输入[3,1,2,4],输出可以是[2,4,3,1]或[4,2,1,3],以此类推。下面是我的c ++代码,有时我幸运的是,向量得到了正确的排序,有时却没有。我导出了奇数和偶数向量,它们看起来正确,但是当我尝试将它们组合在一起时,结果就一团糟。有人可以帮我调试吗?

class Solution {
public:
    vector<int> sortArrayByParity(vector<int>& A) {
        unordered_multiset<int> even;
        unordered_multiset<int> odd;
        vector<int> result(A.size());

        for(int C:A)
        {
            if(C%2 == 0)
                even.insert(C);
            else
                odd.insert(C);
        }
        merge(even.begin(),even.end(),odd.begin(),odd.end(),result.begin());
        return result;
    }
};
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
64
查看次数

标签 统计

c++ ×2