把半年前完全没思路的题解了的感觉真好

news/2024/12/18 21:27:36/文章来源:https://www.cnblogs.com/Tennouji/p/18615877


虽然处理了很多次索引思路,不过最后还是过了。第一眼就有解题思路,这种感觉真不错,要的就是这种打怪升级的正反馈。
附上解题代码
`#

@lc app=leetcode.cn id=2266 lang=python3

[2266] 统计打字方案数

@lc code=start

from collections import Counter
from functools import cache
class Solution:
def countTexts(self, pressedKeys: str) -> int:
MOD = 10**9 + 7
n = len(pressedKeys)
dp_3 = [0] * n
# 用于存储连续按同样数字时的情况
# 分为按键有四个字母和三个字母两种情况
dp_4 = [0] * n
if n >= 1:
dp_3[0] = 1
if n >= 2:
dp_3[1] = 2
if n >= 3:
dp_3[2] = 4
if n >= 1:
dp_4[0] = 1
if n >= 2:
dp_4[1] = 2
if n >= 3:
dp_4[2] = 4
if n >= 4:
dp_4[3] = 8
ans = 1
button_3 = {'2','3','4','5','6','8'}
button_4 = {'7','9'}
for i in range(3, n):
dp_3[i] = (dp_3[i - 1] + dp_3[i - 2] + dp_3[i - 3]) % MOD

    for i in range(4, n):dp_4[i] = (dp_4[i - 1] + dp_4[i - 2] + dp_4[i - 3] + dp_4[i - 4]) % MODcount = 1for i in range(1,n):if pressedKeys[i] == pressedKeys[i - 1]:count += 1else:if pressedKeys[i - 1] in button_3:ans = (ans * dp_3[count - 1]) % MODelse:ans = (ans * dp_4[count - 1]) % MODcount = 1if pressedKeys[-1] in button_3:ans = (ans * dp_3[count - 1]) % MODelse:ans = (ans * dp_4[count - 1]) % MODreturn ans`

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/855030.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Windows安全】13种回调函数执行ShellCode

#windows #回调函数 回调机制 在我们使用回调函数执行Shellcode之前,我们首先需要去了解Windows回调机制,Windows回调机制就像你和你的助手一样,比如说每一个律师所中的每一个律师都有一个实习助手,律师需要助手在特定的情况下去处理一些特殊的任务,但这些任务并不是日常…

MaLoader:一款基于Tauri+Rust的免杀马生成工具

免责声明 本公众号“黑客之道HackerWay”提供的资源仅供学习,利⽤本公众号“黑客之道HackerWay”所提供的信息而造成的任何直接或者间接的后果及损失,均由使⽤者本⼈负责,本公众号“黑客之道HackerWay”及作者不为此承担任何责任,一旦造成后果请自行承担责任!简介 MaLoade…

Element Plus组件库el-select组件多选回显踩坑

前情公司有经常需要做一些后台管理页面,我们选择了Element Plus,它是基于 Vue 3,面向设计师和开发者的组件库,是Vue框架生态中比较火的UI组件库,组件库丰富易用,组件链接:一个 Vue 3 UI 框架 | Element Plus,项目中经常会用到el-select多选功能,组件自带的多选交互也是…

Transformers 框架 Pipeline 任务详解(四):问答(question-answering)

本文深入介绍了 Transformers 框架中的 question-answering 任务,涵盖任务简介、应用场景如智能助手和客户服务、任务配置与模型选择、实战代码示例,以及如何利用 Gradio 创建 WebUI 界面,使用户能通过浏览器实时获取问答结果。文章旨在帮助读者快速掌握使用 Transformers 构…

docker高级篇(大厂进阶):安装mysql主从复制

docker高级篇(大厂进阶):安装mysql主从复制@目录1.Docker复杂安装详说1.1安装mysql主从复制本人其他相关文章链接 1.Docker复杂安装详说 1.1安装mysql主从复制主从搭建步骤: 1)新建主服务器容器实例3307 2)进入/mydata/mysql-master/conf目录下新建my.cnf 3)修改完配置后…

Bugku-CTF getshell

前几天在打2024 长城杯 & 国赛时发现的一道类似题题目:<?php define(pfkzYUelxEGmVcdDNLTjXCSIgMBKOuHAFyRtaboqwJiQWvsZrPhn, __FILE__); $cPIHjUYxDZVBvOTsuiEClpMXAfSqrdegyFtbnGzRhWNJKwLmaokQ = urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%7…

无锡在线教育系统开发怎么样

无锡在线教育系统的开发作为当前教育领域内的一种创新方式,正在逐渐受到更多人的重视和应用。从现有的数据来看,它不仅提升了教学质量和学习的灵活性,还能在很大程度上降低运营和维护成本。那么,究竟这种开发状况是怎样的,接下来我们深入了解一下其发展情况及前景。来自ww…

Obfuscar:一款针对.NET程序的开源代码混淆工具

关于Obfuscar Obfuscar是一款针对.NET程序的开源代码混淆工具,该工具支持使用大量重载将 .NET 程序集中的元数据(包括方法、属性、事件、字段、类型和命名空间的名称)重命名为最小集合,在大多数情况下仅通过签名即可区分。 例如,如果某个类仅包含接受不同参数的方法,则可…

批量数据传入数据库方法方案

前端处理好的数据,不是1笔2笔的问题,而是每次几笔或是大批量数据传入数据库。实际上,还是讲求效率与性能。在Insus.NET的博客中,找到几篇以前的随笔,1 使用SqlBulkCopy导入数据至MS SQL Server https://www.cnblogs.com/insus/p/3779879.html 2 ASP.NET MVC一次删除多…

玩家结构体和枚举

玩家结构体包含了玩家类型,玩家位置,玩家初始化构造函数还有画自己的函数方法玩家结构体 enum E_PlayerType//玩家类型的枚举 {Player,Robot, } struct Player {public E_PlayerType type;//用地图上的索引代替坐标public mapIndex;public Player(int index,E_PlayerType typ…

Windows Server 2019 配置PHP环境(图文教程)

操作系统:Windows Server 2019运行模式:IIS10 + fastcgi + PHP(安装IIS的时候选择上CGI)软件版本:MySQL 5.7.37 解压版 / PHP 7.4.29 / PHP Manager 1.5.0 / phpMyAdmin 5.1.31、MySQL 5.7.37 解压版安装: 为什么我会选择解压版而不是安装版?一是因为安装版没有64位版本…