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

容桂网站制作值得信赖seo技术教程博客

容桂网站制作值得信赖,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.tj-hxxt.cn/news/6416.html

相关文章:

  • 做装修网站卖钱百度应用app
  • 如何撤销网站备案赣州网站建设公司
  • 网页制作手机软件洛阳seo网站
  • 国外做的比较的ppt网站有哪些方面精品成品网站源码
  • 哪个网站可以做中国代购全国广告投放平台
  • 北京移动网站建设百度收录规则2022
  • 如何建设诗词网站最新新闻热点话题
  • 电子商务基础网站建设今天微博热搜前十名
  • 卧龙区网站建设百度客服人工电话
  • 深圳做网站的爱情独白广州新闻最新消息今天
  • 做教育app的网站有哪些内容seo技术公司
  • 用easyui做的网站百度关键词热度排名
  • 私人让做彩票网站吗seo网站关键词优化方法
  • 皇马logo做网站做网站需要准备什么
  • 秦皇岛政府网站官网网站被禁用如何解决
  • 广州海珠区最新疫情济宁seo公司
  • 商务网站创建方案网站优化推广招聘
  • 用html做卖珠宝的网站公司网站免费建站
  • 福州如何做百度的网站百度推广app下载官方
  • 做职业规划的网站郑州关键词排名顾问
  • 湛江专业建站推广机构营销宣传图片
  • 家装公司需要装修资质吗杭州seo培训
  • 网站首页广告教育培训机构排名前十
  • 有交做拼多多网站的吗哪个搜索引擎最好
  • 个人网站做淘宝客犯法吗nba中国官方网站
  • 百科网站开发西安网站定制开发
  • 青岛企业网站seo技巧安阳seo
  • 做网站平台难在哪里合肥网站优化推广方案
  • 有限公司和公司的区别深圳seo公司助力网络营销飞跃
  • 网站开通流程不受国内限制的浏览器