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

独立的淘客网站名么做/合肥网站制作推广

独立的淘客网站名么做,合肥网站制作推广,宁波网站制作工作室,为wordpress添加测试用户登录目录 题目 功能说明初始化代码行数变更统计功能 输入输出规范输入数据范围输出算法标签: 模拟思路代码 题目 请实现一个对代码仓中各编程语言的代码量进行统计的系统,支持以下功能: 功能说明 初始化 CodeStatsSystem(products[]) – 初始化产品及其代…

题目

请实现一个对代码仓中各编程语言的代码量进行统计的系统,支持以下功能:

功能说明

初始化

CodeStatsSystem(products[]) – 初始化产品及其代码仓关系,所有代码仓的代码量初始为 0:

  • products[i] = [productId, repoIds[]] 表示一个产品及其代码仓列表
  • 产品、代码仓均是全局唯一的
  • 一个代码仓仅会归属某一个产品
  • 一个代码仓内可能有多种语言

代码行数变更

changeCodelines(int repoId, int languageId, int codeline) – 代码仓 repoId 中某种语言 languageId 的代码行变化量为 codeline(正值表示增加,负值表示减少)。最后返回此代码仓中该语言的代码总行数。

  • 用例保证代码仓已存在
  • 一个代码仓中某语言的代码行不会减少为负值

统计功能

statLanguage(int productId) – 统计产品 productId 所用到的各语言的代码总行数,并按要求返回语言id列表。

  • productId 为 0 表示所有产品,非 0 表示指定的产品(用例保证产品已存在)
  • 返回要求:
    • 只返回代码量大于 0 的语言
    • 优先按语言的代码量降序
    • 若代码量相同,则再按语言id升序

输入输出规范

输入

  • 每行表示一个函数调用
  • 初始化函数仅首行调用一次
  • 累计函数调用不超过1000次

数据范围

  • 1 <= products.length <= 100
  • 0 < products[i].productId <= 100
  • 1 <= repoIds.length <= 10
  • 0 <= repoIds[j]、repoId < 1000(repoId ∈ repoIds)
  • -100000 <= codeline <= 100000
  • languageId 取值范围 0~6,分别表示:
    • 0: “c”
    • 1: “c++”
    • 2: “go”
    • 3: “java”
    • 4: “javascript”
    • 5: “python”
    • 6: “rust”
  • 0 <= productId <= 100

输出

  • 答题时按照函数/方法原型中的要求(含返回值)进行实现
  • 输出由框架完成(其中首行固定输出 null)

算法标签: 模拟

思路

构建有映射关系, 有多个产品, 每个产品有 i d id id和对应管理的代码仓, 每个代码仓有多种语言的代码, 然后进行模拟

代码

#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <vector>using namespace std;typedef pair<int, int> PII;
const int N = 110, M = 1010, K = 7;vector<pair<int, vector<int>>> vec;
int sto[M][7];
vector<int> pro[N];
vector<int> ids;bool cmp(const PII &a, const PII &b) {auto &[id1, val1] = a;auto &[id2, val2] = b;if (val1 == val2) return id1 < id2;return val1 > val2;
}class CodeStatsSystem {
public://存储产品id和对应的代码仓列, 一个代码仓仅会归属于一个产品, 一个代码仓可能有多个语言CodeStatsSystem(const vector<pair<int, vector<int>>> &products) {memset(sto, 0, sizeof sto);vec.clear();ids.clear();for (int i = 0; i < N; ++i) pro[i].clear();vec = products;for (auto &[id, tmp] : vec) {ids.push_back(id);pro[id] = tmp;}}//对代码仓中某个语言的代码行数进行变化int ChangeCodelines(int repoId, int languageId, int codeline) {int &val = sto[repoId][languageId];if (val + codeline < 0) return val;val += codeline;return val;}//统计产品用的各种语言的代码总数, 0代表返回所有产品, 只返回代码量大于0的语言, 降序, 代码量相同按照id升序vector<int> StatLanguage(int productId) {vector<PII> cnt(K);for (int i = 0; i < K; ++i) cnt[i].first = i, cnt[i].second = 0;if (productId == 0) {for (int id : ids) {for (int sto_id : pro[id]) {for (int i = 0; i < K; ++i) {cnt[i].second += sto[sto_id][i];}}}}else {for (int sto_id : pro[productId]) {for (int i = 0; i < K; ++i) {cnt[i].second += sto[sto_id][i];}}}sort(cnt.begin(), cnt.end(), cmp);vector<int> ans;for (int i = 0; i < K; ++i) {auto &[id, val] = cnt[i];if (val > 0) ans.push_back(id);}return ans;}
};
http://www.whsansanxincailiao.cn/news/32036196.html

相关文章:

  • 西青网站开发/淄博seo培训
  • 网站建设方案功能/怎么推广网站
  • 网站优化/爱站网 关键词挖掘
  • 成品网站w灬源码伊甸/自动app优化最新版
  • 外贸购物网站建设/友情链接代码美化
  • 比较好的网站建设公司/手游代理平台哪个好
  • 做窗帘网站图片大全/搜索引擎优化方案
  • 光辉网站建设公司/如何在网上推广
  • 做游戏小网站是啥/seo蜘蛛池
  • 如何个网站做优化/win10最强优化软件
  • frontpage做视频网站/域名注册 万网
  • 淄博建网站多少钱/营销案例100例小故事及感悟
  • 龙口城乡建设局官方网站/免费舆情网站下载大全最新版
  • 深圳营销型企业网站/大型网站建设
  • 做企业门户网站都/我想在百度上发布广告怎么发
  • 互联网设计师leader/班级优化大师怎么下载
  • 软件开发流程理解及应用/安徽搜索引擎优化seo
  • 网站目录爬行/青岛seo建站
  • 装修网站平台排行榜/淘宝客怎么做推广
  • 视频分享网站建设难吗/如何自己做一个软件
  • 做网站的费用入什么科目/百度seo优化网站
  • 付费阅读小说网站开发建设源码/信息互联网推广
  • 重庆九龙坡区网站建设/seo引擎搜索网站关键词
  • 电商网站建设技术可行性分析/购买链接怎么买
  • 找人做网站去哪里找/目录搜索引擎有哪些
  • 郑州市做网站的公司/重庆seo排名
  • 二手网站怎么做/深圳推广公司哪家最好
  • 集团网站建设思路/淘宝网店的seo主要是什么
  • 哪家网站建设做的好/申请百度账号注册
  • 设计类网站开发策划书/浅议网络营销论文