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

Leetcode 3307. Find the K-th Character in String Game II

  • Leetcode 3307. Find the K-th Character in String Game II
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3307. Find the K-th Character in String Game II

1. 解题思路

这道题的话显然每次操作都会使字符串长度double,然后我们只需要看看第几次操作之后字符串长度会不少于 k k k,然后看一下其中各个操作会给当前字符位置带来多少位移即可。

显然,对于任何一次操作,只有当操作为1,且目标位置位于操作后的后半段时,才会产生一个字符位移。

因此,我们通过二分的方法逐步对操作进行还原即可得到最终的位移个数,从而即可得到目标位置下的最终字符。

2. 代码实现

给出python代码实现如下:

class Solution:
    def kthCharacter(self, k: int, operations: List[int]) -> str:
        op, n = 0, 1
        while n < k:
            n = n * 2
            op += 1
        n = n // 2
        op -= 1

        delta, idx = 0, k
        while idx > 1:
            if operations[op] == 1 and idx > n:
                delta += 1
            if idx > n:
                idx -= n
            n = n // 2
            op -= 1
        return chr(delta % 26 + ord('a'))

提交代码评测得到:耗时41ms,占用内存16.6MB。


http://www.kler.cn/news/329603.html

相关文章:

  • 无线通信系统仿真与原型设计:MATLAB实践指南
  • LDRA Testbed(TBrun)软件集成测试(部件测试)_操作指南
  • postgresql僵尸进程的处理思路
  • 一文带你入门客制化键盘,打造专属打字利器
  • 大数据常问八股文面试题【数据倾斜,现象、本质原因、解决方案】
  • OpenCV视频I/O(3)视频采集类VideoCapture之获取当前使用的视频捕获 API 后端的名称函数getBackendName()的使用
  • 【含文档】基于Springboot+微信小程序 的中心医院用户移动端(含源码+数据库+lw)
  • vim(1) -- 环境配置
  • 电脑usb接口封禁如何实现?5种禁用USB接口的方法分享!(第一种你GET了吗?)
  • PLMN NR cell
  • Nature Machine Intelligence 基于强化学习的扑翼无人机机翼应变飞行控制
  • 网盘能否作为FTP替代产品?企业该如何进行FTP国产化替代?
  • 深度优先搜索算法改进:分类与打印有向图中的每条边
  • 【Canvas与艺术】六鱼六燕铁艺壁画
  • 微服务 OpenFeign 解析部署使用全流程
  • PHP include和require的区别
  • TiDB 6.0 Book Rush | TiDB 和 Python 的 CRUD 应用开发实践
  • 使用ESP8266扫描WiFi列表
  • H.264编解码工具 - Intel Quick Sync Video
  • 类C语言补充
  • 如何在 macOS(MacBook Pro、Air 和 iMac)上恢复未保存的 Word 文档
  • 灵当CRM index.php接口SQL注入漏洞复现 [附POC]
  • 一文上手SpringSecurity【五】
  • 前端动态创建svg不起效果?
  • 鸿蒙开发:自制原生下拉框
  • 【网络安全 | JAVA代码审计】基础安全问题和解决方法初探
  • 零工市场小程序的未来发展趋势
  • 1-仙灵之谜(区块链游戏详情介绍)
  • Ubuntu 22.04无法连接网络(网络图标丢失)解决方案
  • image离散小波变换及pytorch_wavelets实现