E卷-API集群负载统计-100分

E卷-刷题笔记合集🔗

题目描述

某产品的RESTful API集合部署在服务器集群的多个节点上。为了实现负载均衡,需要统计各个API的访问频次。现在需要实现一个热点信息统计查询功能。

RESTful API由多个层级构成,层级之间使用 / 连接。例如在 /A/B/C/D 这个地址中:

  • A 属于第一级
  • B 属于第二级
  • C 属于第三级
  • D 属于第四级

请实现一个功能,查询给定层级上某个名字出现的频次(未出现过用0表示)。

输入格式

第一行输入一个整数 ,表示访问历史日志的条数,满足

接下来 行,每行为一个RESTful API的URL地址。URL地址满足:

  • 仅包含英文字母和连接符 /
  • 最大层级为10
  • 每层级字符串最大长度为10

最后一行输入两个值:层级 和要查询的关键字。

输出格式

输出一个整数,表示给定层级上关键字出现的频次(使用完全匹配方式,大小写敏感)。

样例输入1

5
/huawei/computing/no/one
/huawei/computing
/huawei
/huawei/cloud/no/one
/huawei/wireless/no/one
2 computing

样例输出1

2

样例解释1

在第二层级上,"computing"出现了2次。

样例输入2

5
/huawei/computing/no/one
/huawei/computing
/huawei
/huawei/cloud/no/one
/huawei/wireless/no/one
4 two

样例输出2

0

样例解释2

在第四层级的URL中,没有出现"two",因此频次为0。

提示

  1. 注意URL分割后的层级计数方式
  2. 使用合适的数据结构存储每层的词频统计
  3. 注意处理不存在的层级或关键字

数据范围

  • 最大层级数:10
  • 每层字符串长度:

题解

这是一个字符串处理和统计题,主要考察如何高效地统计和查询URL中各层级的词频。

解题思路:

  1. 数据结构设计:

    • 使用数组存储不同层级的信息
    • 每个层级使用哈希表统计词频
  2. 处理流程:

    • 分割URL获取各层级字符串
    • 统计每个层级的词频
    • 查询指定层级的指定词频
  3. 关键点:

    • URL分割方式的选择
    • 层级计数的起始位置
    • 边界情况的处理

时间复杂度: ,其中N是URL数量,L是最大层级数。

参考代码

def solve():
    # 读取URL数量
    n = int(input())
    
    # 存储各层级词频
    level_counts = []
    
    # 处理每个URL
    for _ in range(n):
        # 分割URL
        parts = input().split('/')
        
        # 统计每层词频
        for i, word in enumerate(parts):
            if not word:  # 跳过空字符串
                continue
            # 确保level_counts有足够的层级
            while len(level_counts) <= i:
                level_counts.append({})
            # 更新词频
            level_counts[i][word] = level_counts[i].get(word, 0) + 1
    
    # 读取查询
    level, target = input().split()
    level = int(level)
    
    # 输出结果
    if level >= len(level_counts):
        print(0)
    else:
        print(level_counts[level].get(target, 0))

if __name__ == "__main__":
    solve()
#include <iostream>
#include <string>
#include <vector>
#include <unordered_map>
#includ

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

算法刷题笔记 文章被收录于专栏

本专栏收集并整理了一些刷题笔记

全部评论

相关推荐

SadnessAlex:跟三十五岁原则一样,人太多给这些***惯坏了
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务