165. 比较版本号

题目 给你两个 版本号字符串 version1 和 version2 ,请你比较它们。版本号由被点 '.' 分开的修订号组成。修订号的值 是它 转换为整数 并忽略前导零。 比较版本号时,请按 从左到右的顺序 依次比较它们的修订号。如果其中一个版本字符串的修订号较少,则将缺失的修订号视为 0。 返回规则如下: * 如果 _version1_ < _version2_ 返回 -1, * 如果 _version1_ > _version2_ 返回 1, * 除此之外返回 0。 示例 1: 输入:version1 = "1.2", version2 = "1.10"…

3005. 最大频率元素计数

题目 给你一个由 正整数 组成的数组 nums 。 返回数组 nums 中所有具有 最大 频率的元素的 总频率 。 元素的 频率 是指该元素在数组中出现的次数。 示例 1: 输入:nums = [1,2,2,3,1,4] 输出:4 解释:元素 1 和 2 的频率为 2 ,是数组中的最大频率。 因此具有最大频率的元素在数组中的数量是 4 。 示例 2: 输入:nums = [1,2,3,4,5] 输出:5 解释:数组中的所有元素的频率都为 1…

1912. 设计电影租借系统

题目 你有一个电影租借公司和 n 个电影商店。你想要实现一个电影租借系统,它支持查询、预订和返还电影的操作。同时系统还能生成一份当前被借出电影的报告。 所有电影用二维整数数组 entries 表示,其中 entries[i] = [shopi, moviei, pricei] 表示商店 shopi 有一份电影 moviei 的拷贝,租借价格为 pricei 。每个商店有 至多一份 编号为 moviei 的电影拷贝。 系统需要支持以下操作: * Search:找到拥有指定电影且 未借出 的商店中 最便宜的 5 个 。商店需要按照 价格 升序排序,如果价格相同,则 shopi 较小 的商店排在前面。如果查询结果少于 5 个商店,则将它们全部返回。如果查询结果没有任何商店,…

3508. 设计路由器

题目 请你设计一个数据结构来高效管理网络路由器中的数据包。每个数据包包含以下属性: * source:生成该数据包的机器的唯一标识符。 * destination:目标机器的唯一标识符。 * timestamp:该数据包到达路由器的时间戳。 实现 Router 类: Router(int memoryLimit):初始化路由器对象,并设置固定的内存限制。 * memoryLimit 是路由器在任意时间点可以存储的 最大 数据包数量。 * 如果添加一个新数据包会超过这个限制,则必须移除 最旧的 数据包以腾出空间。 bool addPacket(int source, int destination, int timestamp):将具有给定属性的数据包添加到路由器。 * 如果路由器中已经存在一个具有相同 source、destination 和 timestamp 的数据包,则视为重复数据包。 * 如果数据包成功添加(即不是重复数据包),返回 true;否则返回 false。 int[] forwardPacket():以…

3484. 设计电子表格

题目 电子表格是一个网格,它有 26 列(从 'A' 到 'Z')和指定数量的 rows。每个单元格可以存储一个 0 到 105 之间的整数值。 请你实现一个 Spreadsheet 类: * Spreadsheet(int rows) 初始化一个具有 26 列(从 'A' 到 'Z')和指定行数的电子表格。所有单元格最初的值都为 0 。 * void setCell(String cell, int value) 设置指定单元格的值。单元格引用以 "AX&…

2349. 设计数字容器系统

题目 设计一个数字容器系统,可以实现以下功能: * 在系统中给定下标处 插入 或者 替换 一个数字。 * 返回 系统中给定数字的最小下标。 请你实现一个 NumberContainers 类: * NumberContainers() 初始化数字容器系统。 * void change(int index, int number) 在下标 index 处填入 number 。如果该下标 index 处已经有数字了,那么用 number 替换该数字。 * int find(int number) 返回给定数字 number 在系统中的最小下标。如果系统中没有 number ,那么返回 -1 。 示例: 输入: ["NumberContainers", "find"…

2197. 替换数组中的非互质数

题目 给你一个整数数组 nums 。请你对数组执行下述操作: 1. 从 nums 中找出 任意 两个 相邻 的 非互质 数。 2. 如果不存在这样的数,终止 这一过程。 3. 否则,删除这两个数,并 替换 为它们的 最小公倍数(Least Common Multiple,LCM)。 4. 只要还能找出两个相邻的非互质数就继续 重复 这一过程。 返回修改后得到的 最终 数组。可以证明的是,以 任意 顺序替换相邻的非互质数都可以得到相同的结果。 生成的测试用例可以保证最终数组中的值 小于或者等于 108 。 两个数字 x 和 y 满足 非互质数 的条件是:…

1935. 可以输入的最大单词数

题目 键盘出现了一些故障,有些字母键无法正常工作。而键盘上所有其他键都能够正常工作。 给你一个由若干单词组成的字符串 text ,单词间由单个空格组成(不含前导和尾随空格);另有一个字符串 brokenLetters ,由所有已损坏的不同字母键组成,返回你可以使用此键盘完全输入的 text 中单词的数目。 示例 1: 输入:text = "hello world", brokenLetters = "ad" 输出:1 解释:无法输入 "world" ,因为字母键 'd' 已损坏。 示例 2: 输入:text = "leet code", brokenLetters = "lt"…