当前位置:网站首页>LeetCode 2343. 裁剪数字后查询第 K 小的数字
LeetCode 2343. 裁剪数字后查询第 K 小的数字
2022-08-02 17:48:00 【Michael阿明】
1. 题目
给你一个下标从 0 开始的字符串数组 nums ,其中每个字符串 长度相等 且只包含数字。
再给你一个下标从 0 开始的二维整数数组 queries ,其中 queries[i] = [ki, trimi]
。对于每个 queries[i] ,你需要:
- 将 nums 中每个数字 裁剪 到剩下
最右边 trimi
个数位。 - 在裁剪过后的数字中,找到 nums 中
第 ki 小
数字对应的 下标 。如果两个裁剪后数字一样大,那么下标 更小 的数字视为更小的数字。 - 将 nums 中每个数字恢复到原本字符串。
请你返回一个长度与 queries 相等的数组 answer,其中 answer[i]是第 i 次查询的结果。
提示:
裁剪到剩下 x 个数位的意思是不断删除最左边的数位,直到剩下 x 个数位。
nums 中的字符串可能会有前导 0 。
示例 1:
输入:nums = ["102","473","251","814"], queries = [[1,1],[2,3],[4,2],[1,2]]
输出:[2,2,1,0]
解释:
1. 裁剪到只剩 1 个数位后,nums = ["2","3","1","4"] 。最小的数字是 1 ,下标为 2 。
2. 裁剪到剩 3 个数位后,nums 没有变化。第 2 小的数字是 251 ,下标为 2 。
3. 裁剪到剩 2 个数位后,nums = ["02","73","51","14"] 。第 4 小的数字是 73 ,下标为 1 。
4. 裁剪到剩 2 个数位后,最小数字是 2 ,下标为 0 。
注意,裁剪后数字 "02" 值为 2 。
示例 2:
输入:nums = ["24","37","96","04"], queries = [[2,1],[2,2]]
输出:[3,0]
解释:
1. 裁剪到剩 1 个数位,nums = ["4","7","6","4"] 。第 2 小的数字是 4 ,下标为 3 。
有两个 4 ,下标为 0 的 4 视为小于下标为 3 的 4 。
2. 裁剪到剩 2 个数位,nums 不变。第二小的数字是 24 ,下标为 0 。
提示:
1 <= nums.length <= 100
1 <= nums[i].length <= 100
nums[i] 只包含数字。
所有 nums[i].length 的长度 相同 。
1 <= queries.length <= 100
queries[i].length == 2
1 <= ki <= nums.length
1 <= trimi <= nums[0].length
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/query-kth-smallest-trimmed-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
- 字符串切片模拟
class Solution:
def smallestTrimmedNumbers(self, nums: List[str], queries: List[List[int]]) -> List[int]:
nums = [(num, i) for i, num in enumerate(nums)]
ans = []
for q in queries:
k, t = q
arr = [(num[-t:], i) for num, i in nums]
arr.sort()
ans.append(arr[k-1][1])
return ans
408 ms 15.3 MB Python3
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
边栏推荐
- How Tencent architects explained: The principle of Redis high-performance communication (essential version)
- Wechat Gymnasium Appointment Mini Program Graduation Design Finished Works Mini Program Graduation Design Finished Work (6) Question Opening Reply PPT
- 腾讯架构师是如何解释:Redis高性能通信的原理(精华版)
- golang学习之七:并发编程基础(goroutine、channel、select)
- mui中使用多级选择器实现省市区联动
- 二舅“反转”了?
- 深圳地铁16号线二期进入盾构施工阶段,首台盾构机顺利始发
- golang刷leetcode 经典(2)拓扑排序
- HDF驱动框架的API(2)
- My recursive never burst stack
猜你喜欢
Go 语言快速入门指南: 介绍及安装
小程序毕设作品之微信体育馆预约小程序毕业设计成品(5)任务书
灵动微电子发布低功耗 MM32L0130 系列 MCU 产品
IReport常见问题及处理方法
Flink Learning 9: Configure the idea to develop the flink-Scala program environment
红队实战靶场ATT&CK(一)
打补丁的日子,比写代码的日子难熬多了
Cpolar application example of data acquisition equipment
Playing in the cloud | The key technology of Tianyi cloud object storage ZOS high availability is revealed
来亲自手搭一个ResNet18网络
随机推荐
Wechat Gymnasium Appointment Mini Program Graduation Design Finished Work (5) Task Book
Wechat Gymnasium Appointment Mini Program Graduation Design Finished Works (7) Mid-term Inspection Report
Data Governance: The Evolution of Data Integration and Application Patterns
记一次 .NET 某工控自动化控制系统 卡死分析
织梦提示信息提示框美化
golang源码分析(33)pollFD
Cpolar application example of data acquisition equipment
全面认识二极管,一篇文章就够了
安全至上:落地DevSecOps最佳实践你不得不知道的工具
9月起中国给予多哥等16国98%税目产品零关税待遇
脉脉上的相亲生意
IDEA相关配置(特别完整)看完此篇就将所有的IDEA的相关配置都配置好了、设置鼠标滚轮修改字体大小、设置鼠标悬浮提示、设置主题、设置窗体及菜单的字体及字体大小、设置编辑区主题、通过插件更换主题
Taking advantage of cloud-network integration, e-Surfing Cloud has paved the way for digital transformation for government and enterprises
Ubuntu系统下用docker安装oracle
今年上半年,我国公路建设总体形势持续向好
Open Source Summer | [Cloud Native] DevOps (5): Integrating Harbor
天翼云4.0分布式云赋能千行百业数字化转型
搭建属于自己的知识库(Wikijs)
CUDA+Pycharm-gpu版本+Anaconda安装
MySQL基本操作和基于MySQL基本操作的综合实例项目