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

建设网站代办机构中国seo排行榜

建设网站代办机构,中国seo排行榜,中国好公司排名,wordpress填写数据库文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们使用逆向思维发现如果连续按存在三个字母的按键,最后一个按键表示的字母可以是某个字母连续出现一次、两次、三次这三种情况的方案数之和 我们发现连续按存在三个字母的按键,当连续按…

文章目录

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

题目描述

在这里插入图片描述

题解思路

我们使用逆向思维发现如果连续按存在三个字母的按键,最后一个按键表示的字母可以是某个字母连续出现一次、两次、三次这三种情况的方案数之和
我们发现连续按存在三个字母的按键,当连续按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.hengruixuexiao.com/news/7907.html

相关文章:

  • 国外酷炫网站seo工资服务
  • 培训网站设计师谷歌chrome官网
  • 网站建设如何来选择空间网络营销课程有哪些
  • 网站备案完成后接下来怎么做合肥网络推广有限公司
  • 线上平台销售模式东莞seo优化
  • 永久免费的移动建站平台友情链接交易网站
  • 网站网页设计的组成爱站网长尾关键词
  • 做网站为职业生存不下去疫情二十条优化措施
  • 做家装的设计公司网站网络营销怎么做?
  • 做图的赚钱的网站国内最新新闻大事
  • 网站建设具体运算高质量软文
  • 网站地图文件广州最新消息
  • 怎么知道网站有没有做301重定向深圳推广系统
  • wordpress网站如何提速对网络营销的认识
  • 企业建站域名搜索引擎优化的方法与技巧
  • 深圳网站建设合同郴州网站推广
  • 网站建设需要保存什么seo优化与品牌官网定制
  • 昆明网站建设推广服务网站推广营销的步骤
  • 网站的开发方法东莞哪种网站推广好
  • php做的一个网站网站排名
  • 做vi 设计国外网站武汉seo 网络推广
  • 无锡做推广的网站百度云在线登录
  • 阳江北京网站建设长沙谷歌优化
  • 徐州建站公司模板网络营销项目策划方案
  • 网站域名分类自媒体
  • 天津小程序网站开发公司口碑营销的模式
  • 定制网站建设公司电话武汉seo百度
  • 仿牌外贸网站建设武汉百捷集团百度推广服务有限公司
  • 响应式网站制作流程图武汉seo
  • 西安代做毕业设计网站营销手段