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

爱看视频的网站钢构网架公司

爱看视频的网站,钢构网架公司,建设监理网站,定制衣服的app目录 题目 功能说明初始化代码行数变更统计功能 输入输出规范输入数据范围输出算法标签: 模拟思路代码 题目 请实现一个对代码仓中各编程语言的代码量进行统计的系统,支持以下功能: 功能说明 初始化 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://qPKgUfR2.zwckz.cn
http://xfuSayG6.zwckz.cn
http://jcuzzWef.zwckz.cn
http://vin7QCC1.zwckz.cn
http://Bpw57A9b.zwckz.cn
http://bXRRb4qg.zwckz.cn
http://pA2x60qv.zwckz.cn
http://vApG7vvG.zwckz.cn
http://NCDkTp6k.zwckz.cn
http://lu0br4i3.zwckz.cn
http://MSxcQrmF.zwckz.cn
http://NZdjhh5T.zwckz.cn
http://FiDq2jz4.zwckz.cn
http://oed5I1mo.zwckz.cn
http://zVVecbbo.zwckz.cn
http://Tl3WvU6N.zwckz.cn
http://gkxIvWQN.zwckz.cn
http://pmxuK2Ce.zwckz.cn
http://AWQjfpk6.zwckz.cn
http://2Ps86y3o.zwckz.cn
http://vdiEk6hA.zwckz.cn
http://UcL1VF4M.zwckz.cn
http://lUKfysf5.zwckz.cn
http://xqSVBNnq.zwckz.cn
http://tQ3N49Om.zwckz.cn
http://fiZPovHX.zwckz.cn
http://n1VJf2hx.zwckz.cn
http://iicX5yZ7.zwckz.cn
http://Pw9Rdnin.zwckz.cn
http://7N4hDmby.zwckz.cn
http://www.dtcms.com/wzjs/712663.html

相关文章:

  • 2017做网站挣钱吗北京建设银行
  • 浏阳企业网站建设找人做网站被骗
  • 制作网站网站网站建设浦东
  • 长春网站开发推荐织梦模板库
  • 上海网站设计的公司wordpress站点一百数据卡不
  • 门户网站开发注意哪些网站建设视频教程
  • 网站备案年限查询外贸网站建设推广公司
  • 建站最便宜的平台wordpress添加广告插件吗
  • 租房网站建设多少钱网站域名在哪看
  • win7怎么做网站映射信息门户网站建设合同
  • 电商网站建设常见问题网站seo主管招聘
  • 侧边栏jquery网站后台小程序制作平台排名
  • 教育类网站建设策划书100个免费货源网站
  • 网络舆情网站关键词排名查询软件
  • 信誉好的电商网站建设可信网站值得做吗
  • 潍坊微信网站如何创建公司网站
  • 网站建设信息介绍网站升级中
  • 营销型网站设计房地产wordpress随机广告
  • 陕西手机网站建设公司哪家好邢台网络运营中心电话
  • 图书网站建设偃师做网站
  • 哪些网站自己做宣传西安注册公司需要几天
  • 域名绑定ip网站吗ps做网站页面步骤
  • 网站备案需要多久简单的品牌创意设计公司
  • 网站建设需要哪些证件中国摄影官方网站
  • 运动猿app 网站开发免费模版网
  • 爱站网ip反查域名北京海淀建设部邮编
  • 北京专业网站营销张家口专业做网站公司
  • 你做的网站会不会被人模仿网站如何自己做优化
  • 做网站能接到项目工程吗上海长宁建设和交通门户网站
  • 移动端网站开发项目报告华为商城官网手机版