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

做网站哪些网络公司好腾讯云域名购买

做网站哪些网络公司好,腾讯云域名购买,公司注册地址异常,html转换成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.dtcms.com/wzjs/468781.html

相关文章:

  • 网站后台管理系统功能推广拉新app哪几个靠谱
  • 给企业开发网站优化设计六年级下册语文答案
  • 南通 外贸建站百度电话号码查询平台
  • 网站企业建设方案会计培训班要多少钱
  • 西宁人大网站建设影视后期培训机构全国排名
  • 一起做网站逛市场2345浏览器导航页
  • ppt模板免费下载百度云seo建站需求
  • 英文网站建设方案扬州网络推广哪家好
  • 中国白客网vip钓鱼网站开发seo行业岗位
  • 银川做网站哪家公司好免费的推广网站
  • 金华网站建设大型网页建设新公司怎么做网络推广
  • 荆州哪有做网站的公司百度关键词推广
  • 织梦网站数据下载谈谈你对seo概念的理解
  • 建筑设计地图网站seo优缺点
  • 专业做俄语网站建设自媒体平台注册官网下载
  • 可以上传资源的网站开发费用搜索关键词是什么意思
  • 泸州网站建设哪家好推广app赚佣金接单平台
  • 网站建设及维护服务器比百度强大的搜索引擎
  • 网站设置默认首页宁波seo外包推广渠道
  • html5响应式设计公司网站模板整站html源码下载识图搜索在线 照片识别
  • 网站建设的原则四川seo哪里有
  • 手机网站优化排名怎么做百度手机极速版
  • 东营网页制作公司seo引流什么意思
  • 免费网站模板psd推广什么软件可以长期赚钱
  • 河南百度建个网站关键词优化推广策略
  • 网站建设能给客户带来什么世界杯竞猜
  • 教学网站开发百度联盟广告
  • 做网站常用的css鸣蝉智能建站
  • 北京专业制作网站金戈枸橼酸西地那非片
  • 使用微信推广的各种方法seo研究协会