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

ajaxjsp网站开发从入门到精通教育类网站框架

ajaxjsp网站开发从入门到精通,教育类网站框架,推广app的营销策略,做营销网站seo文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们使用逆向思维发现如果连续按存在三个字母的按键,最后一个按键表示的字母可以是某个字母连续出现一次、两次、三次这三种情况的方案数之和 我们发现连续按存在三个字母的按键,当连续按…

文章目录

  • 题目描述
  • 题解思路
  • 题解代码
  • 题目链接

题目描述

在这里插入图片描述

题解思路

我们使用逆向思维发现如果连续按存在三个字母的按键,最后一个按键表示的字母可以是某个字母连续出现一次、两次、三次这三种情况的方案数之和
我们发现连续按存在三个字母的按键,当连续按i次时其方案数f[i] = f[i - 1] + f[i - 2] + f[i - 3]
其中f[i - 1]表示最后一个按键表示的最后一个字母连续出现一次的方案数
f[i - 2]表示最后一个按键表示的最后一个字母连续出现l两次的方案数
f[i - 3]表示最后一个按键表示的最后一个字母连续出现三次的方案数

类似的按存在四个字母的按键,当连续按i次时其方案数f[i] = f[i - 1] + f[i - 2] + f[i - 3] + f[i - 4]

然后我们只需要计算所有连续的字母其出现了几次,然后将其方案数相乘就是最终的结果

题解代码

func countTexts(pressedKeys string) int {const mod = 1000000007n := len(pressedKeys)f3, f4 := make([]int, 0, n + 1), make([]int, 0, n + 1)f3 = append(f3, 1, 1, 2, 4)f4 = append(f4, 1, 1, 2, 4)for i := 4; i <= n; i++ {f3 = append(f3, (f3[i - 1] + f3[i - 2] + f3[i - 3]) % mod)f4 = append(f4, (f4[i - 1] + f4[i - 2] + f4[i - 3] + f4[i - 4]) % mod)}ans, cnt := 1, 0for i := 0; i < n; i++ {cnt++if i == n - 1 || pressedKeys[i] != pressedKeys[i + 1] {if pressedKeys[i] == '7' || pressedKeys[i] == '9' {ans = ans * f4[cnt] % mod} else {ans = ans * f3[cnt] % mod}cnt = 0}}return ans
}

题目链接

https://leetcode.cn/problems/count-number-of-texts/description/

http://www.yayakq.cn/news/62560/

相关文章:

  • 网站空间租用哪个好网站开发转包协议
  • 公司网站背景图wordpress 金融
  • 杭州网站开发制作公司无锡网站App微信
  • 湖北省住房与城乡建设厅网站域名 备案 没有网站
  • 嘉兴网站建设推荐浙江华企网站排名如何做
  • 雄县网站制作建设中心拼多多关键词优化是怎么弄的
  • 建设项目自主验收公示的网站网络营销策略概述
  • 网站到期如何续费网站的整合
  • 让网站做的有吸引力免费网站模板 下载
  • 网站建设而微信公众平台怎么做微网站
  • 开发网站需要什么条件网址站点异常怎么解决
  • 网站服务器 免费的吗企业网页页面模块
  • 阿里云搭建自己的网站网页设计中文本居中用什么代码
  • 亚马逊购物网站宁波网站推广找哪家公司
  • 购物网站源代码怎样获得做网站的客户
  • 整形网站专题素材建筑施工图设计
  • 网站建设与管理 第2版建设网站的技巧
  • 做一个在线交易网站需要多少钱网页设计速成培训
  • 网站维护与更新专门做画册的网站
  • 深圳企业专业网站建设重庆vi设计公司
  • 做网站的厂家网站轮播图怎么保存
  • 湘潭建设路街道网站网页制作与网站设计
  • 福建省城市建设厅网站关键词搜索量排名
  • 学做网站难吗优化设计官网
  • 网站的相对路径谷歌seo优化推广
  • 河南零距离文化传播 网站建设企业网站建设要多久
  • 英文网站排名优化滁州市南谯区建设局网站
  • 新昌网站制作wordpress修改 id
  • 全自动挂机赚钱一天40元宁波seo网络优化公司
  • 前端网站建设和维护网站开发形式选择