【问题标题】:what is wrong with this code ? it's not showing any output after executing这段代码有什么问题?执行后不显示任何输出
【发布时间】:2020-12-27 10:53:53
【问题描述】:

该函数必须返回一个整数数组,表示每个查询字符串在字符串中出现的频率。

matchingStrings 有以下参数:

string strings[n] - 要搜索的字符串数组 字符串查询[q] - 查询字符串数组

例子

strings[]={"ab","ab","abc"}
queries[]={"ab","abc","bc"}

输出将是

result[]={2,1,0}

.

vector<int> matchingStrings(vector<string> strings, vector<string> queries) {
   
   
    unordered_multiset<string> m;
    
    int ms=0,l=sizeof(strings)/sizeof(strings[0]),k=sizeof(queries)/sizeof(queries[0]);
    vector<int> res;
    int y;
    
    for(int i=0;i<l;i++)
    {
        m.insert(strings[i]);
    }
    
    for(int j=0;j<k;j++)
    {
        y=(m.count(queries[j]));
        res.push_back(y);
        
    
    }

     return res;
}

【问题讨论】:

  • l=sizeof(strings)/sizeof(strings[0]),k=sizeof(queries)/sizeof(queries[0]) -- 你从哪里想到用它来获取std::vector 中的条目数?这证明“在线竞赛”网站没有教授正确的 C++。
  • @suryateja 问题似乎已解决,请将任何答案标记为已接受以关闭它。

标签: c++ vector unordered-multiset


【解决方案1】:

您输入向量的大小错误,它们在编译时与sizeof 运算符保持一致。像这样获取它们的尺寸/长度:

int ms = 0;
std::size_t l = strings.size(), k = queries.size();

【讨论】:

    【解决方案2】:

    该代码有效。我不知道你为什么不在向量中使用 size() 方法。

    #include <bits/stdc++.h>
    using namespace std;
    vector<int> matchingStrings(vector<string> strings, vector<string> queries) {
    
    
        unordered_multiset<string> m;
    
        int ms=0;
        vector<int> res;
        int y;
    
        for(int i=0;i<strings.size();i++)
        {
            m.insert(strings[i]);
        }
        for(int j=0;j<queries.size();j++)
        {
            y=(m.count(queries[j]));
            res.push_back(y);
        }
    
        return res;
    }
    int main() {
        vector <string> strings;
        vector <string> queries;
        strings.push_back("ab");
        strings.push_back("ab");
        strings.push_back("abc");
        queries.push_back("ab");
        queries.push_back("abc");
        queries.push_back("bc");
        for(int item : matchingStrings(strings,queries)){
            cout<<item<<' ';
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      • 2021-02-24
      • 2015-04-25
      • 2018-09-09
      相关资源
      最近更新 更多