gpt4 book ai didi

c++ - 数组中不同数量的字符串

转载 作者:搜寻专家 更新时间:2023-10-31 00:39:32 27 4
gpt4 key购买 nike

更新修复

我只想返回数组中唯一条目的数量。该数组包含一个表示 IP 地址的字符串变量。如果有 10 个,但有 3 个不同的种类,我只想返回 3 个。我整天都在做这个,似乎无法找到一个可行的解决方案。我的代码:

原始代码

int getUnique(Visitors info[], string url, string startDate, string endDate){

int count = 0;

string temp;

for(int i = 0 ; i < N ; i++){

if(url == info[i].URL && (dateChecker(startDate, endDate, info[i].dateAccessed))){



}

}

return count;

}

更新代码

int getUnique(Visitors info[], string url, string startDate, string endDate){

set<string> ips;

for(int i = 0 ; i < N ; i++){

if(url == info[i].URL && (dateChecker(startDate, endDate, info[i].dateAccessed))){

ips.insert(info[i].IP);

}

}

return ips.size();

}

第一个 if 检查匹配的 URL 是否确实匹配,而 dateChecker 只是确保特定 IP 转到该 URL 的日期在两个传递日期之间(startDateendDate)。如何在这些条件下获取不同 IP 的数量?

最佳答案

使用std::set ,它唯一地存储项目并且高效:

std::set<string> ips;

for (int i=0; i<N; i++)
ips.insert(info[i].IP);

int unique_ips = ips.size();

关于c++ - 数组中不同数量的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16043703/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com