当前位置: 首页 > wzjs >正文

页面设计制作网站源码东莞债务优化

页面设计制作网站源码,东莞债务优化,吉林省 网站建设,c 网页开发文章目录 算法思路1. 数据结构选择2. 输入处理3. 统计出现的文章数4. 输出结果 代码示例代码优化 样例输入 4 3 5 1 2 3 2 1 1 1 3 2 2 2 2 3 2样例输出 2 3 3 6 2 2算法思路 1. 数据结构选择 vector<int>&#xff1a;用于存储每篇文章的单词列表&#xff08;可能包含…

文章目录

      • 算法思路
        • 1. 数据结构选择
        • 2. 输入处理
        • 3. 统计出现的文章数
        • 4. 输出结果
      • 代码示例
      • 代码优化

在这里插入图片描述
样例输入

4 3
5 1 2 3 2 1
1 1
3 2 2 2
2 3 2

样例输出

2 3
3 6
2 2

算法思路

1. 数据结构选择
  • vector<int>:用于存储每篇文章的单词列表(可能包含重复)。
  • unordered_set<int>:用于统计每篇文章中出现的不同单词(自动去重)。
  • 两个统计数组:
    • totalCount[i]:记录单词i在所有文章中的总出现次数。
    • articleCount[i]:记录单词i出现在多少篇文章中。
2. 输入处理
  • 读取文章数n和单词上限m:确定处理范围。
  • 逐篇处理文章:
    • 读取文章长度l
    • 读取l个单词,并存入words数组。
    • 遍历words数组,累加每个单词的总出现次数到totalCount
3. 统计出现的文章数
  • 使用集合去重:
    • words数组中的单词存入unordered_set,自动去除重复。
    • 遍历集合中的每个单词,将其对应的articleCount加 1(每篇文章只统计一次)。
4. 输出结果
  • 按单词编号1m的顺序,输出每个单词的articleCounttotalCount

代码示例

#include<iostream>
#include<vector>
#include<unordered_set>
using namespace std;int main(){int n,m;//n篇文章,单词编号上限m cin>>n>>m; vector<int> totalCount(m+1,0);//单词i在文章中的总出现次数vector<int> articleCount(m+1,0);//单词i出现在多少篇文章中//遍历每一篇文章for(int i=0;i<n;i++){ int l;//当前文章的单词数量 cin>>l; //存储当前文章的所有单词vector<int> words(l); for(int j=0;j<l;++j){cin>>words[j];//读取每个单词//更新总出现次数,每出现一次就加1totalCount[words[j]]++; }//使用集合统计当前文章中出现的不同单词(自动去重)unordered_set<int> seen;for(int word:words){seen.insert(word);//插入集合自动去重 } //遍历集合中的单词,统计出现的文章数for(int word:seen){articleCount[word]++;//每篇文章只算一次 } }//输出结果:按单词编号1到m依次输出for(int i=1;i<=m;++i){cout<<articleCount[i]<<" "<<totalCount[i]<<endl;} return 0;
} 

代码优化

  1. 减少不必要的vector存储

原代码中使用vector<int> words(l)来存储每篇文章的所有单词,实际上可以直接在读取单词时进行统计,无需额外存储,这样可以减少内存使用。

  1. 减少集合的插入操作

在统计文章中出现的不同单词时,可以在读取单词时判断是否已经在集合中,避免不必要的插入操作

【代码示例】

#include <iostream>
#include <vector>
#include <unordered_set>
using namespace std;int main() {int n, m;cin >> n >> m;vector<int> totalCount(m + 1, 0);   // 总出现次数(1-based)vector<int> articleCount(m + 1, 0); // 出现的文章数(1-based)for (int i = 0; i < n; ++i) {int l;cin >> l;  // 读取文章长度unordered_set<int> seen;for (int j = 0; j < l; ++j) {int word;cin >> word;totalCount[word]++;  // 累加总次数if (seen.find(word) == seen.end()) {seen.insert(word);articleCount[word]++;  // 如果是第一次出现,更新文章数}}}// 输出结果(1-based)for (int i = 1; i <= m; ++i) {cout << articleCount[i] << " " << totalCount[i] << endl;}return 0;
}

优化点解释

  • 去掉了vector<int> words(l),直接在循环中读取每个单词并进行统计,减少了内存开销。
  • 在读取单词时,先使用seen.find(word)判断单词是否已经在集合中,如果不在则插入集合并更新articleCount,减少了集合的插入操作和后续遍历集合的操作。

文章转载自:

http://uhcQ5ucB.tqwcm.cn
http://DBuT6NkE.tqwcm.cn
http://LZEm76Wq.tqwcm.cn
http://4wGqftjf.tqwcm.cn
http://plPNYjyK.tqwcm.cn
http://vSL4TgFY.tqwcm.cn
http://sIcqLLHF.tqwcm.cn
http://3j7XuZKq.tqwcm.cn
http://TDkHEBPo.tqwcm.cn
http://t5N1dXLw.tqwcm.cn
http://63onWV2L.tqwcm.cn
http://4UegmtXO.tqwcm.cn
http://ul65qRF5.tqwcm.cn
http://GjNf0uaE.tqwcm.cn
http://Yywh44px.tqwcm.cn
http://foXZksGV.tqwcm.cn
http://FG3dOyo8.tqwcm.cn
http://CygGnSFF.tqwcm.cn
http://iGgMRwtR.tqwcm.cn
http://ZGYEjSTP.tqwcm.cn
http://OhGqRrTa.tqwcm.cn
http://1raKDjoq.tqwcm.cn
http://Ssb0ZlP7.tqwcm.cn
http://Z1ZFQG86.tqwcm.cn
http://0oAppL6I.tqwcm.cn
http://dO8aSNNX.tqwcm.cn
http://gFLTVerH.tqwcm.cn
http://uf5vqhm6.tqwcm.cn
http://peb4wVyr.tqwcm.cn
http://0TMHUqwE.tqwcm.cn
http://www.dtcms.com/wzjs/607439.html

相关文章:

  • 网站建设交流qq空间网址是什么
  • 广安市城乡建设规划局网站网站制作公司珠海
  • 网站做优化效果怎样免费网络加速
  • 设计好看的网站php部署网站
  • 网站整体优化做网店的进货网站
  • 外包做的网站 需要要源代码吗网站地图制作视频教程
  • 网站优化开发深圳网络营销推广排名
  • 免费搭建个人业务网站客户管理系统哪个好用
  • 郑州网站排名分析微网站分销
  • 网站开发人员是什么深圳网站开发工资
  • 佛山网站建设流程东莞阳光网官方网站登录
  • 广东省网站备案注销网站下面的站长统计很逗
  • 网站建设j介绍ppt模板上海百度seo优化
  • 专业网站建设兴田德润电影网站开发教程
  • 仿做网站的网站海东网站建设公司
  • 网站开发与设计结课论文南京安居建设集团网站
  • 推荐网站建设案例戴尔公司网站建设成功的关键
  • 多个wordpress网站合并长沙公司做网站的价格
  • 汕头seo建站山东临沂网站设计公司
  • 网站速成班有哪些专业wordpress 顶部
  • 山东菏泽建设银行网站北京成交型网站建设价格
  • 网站制作成品软件开发工具链
  • 网站设计所用的软件wordpress响应缓慢
  • 申请域名后怎么建设网站电子商务学网页制作吗
  • 关键词分析网站三明网站seo
  • 建行官网官网网站吗网站源代码查看
  • 金数据可以做网站吗简易手机网站开发
  • 南安淘宝网站建设wordpress访问地址修改
  • 番禺建设银行网站什么平台可以接国外订单
  • 南方科技大学网站建设湖南智慧住建云