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

黄村做网站哪家好百度seo优化怎么做

黄村做网站哪家好,百度seo优化怎么做,国内 上市网站建设公司,展台设计公司“生活并不照顾那些表现得过于疲惫的人。” ——弗里德里希尼采 题目 给你一个由小写英文字母组成的字符串 s,一个整数 t 表示要执行的 转换 次数,以及一个长度为 26 的数组 nums。每次 转换 需要根据以下规则替换字符串 s 中的每个字符: 将…

“生活并不照顾那些表现得过于疲惫的人。” ——弗里德里希·尼采

题目

给你一个由小写英文字母组成的字符串 s,一个整数 t 表示要执行的 转换 次数,以及一个长度为 26 的数组 nums。每次 转换 需要根据以下规则替换字符串 s 中的每个字符:

  • 将 s[i] 替换为字母表中后续的 nums[s[i] - 'a'] 个连续字符。例如,如果 s[i] = 'a' 且 nums[0] = 3,则字符 'a' 转换为它后面的 3 个连续字符,结果为 "bcd"
  • 如果转换超过了 'z',则 回绕 到字母表的开头。例如,如果 s[i] = 'y' 且 nums[24] = 3,则字符 'y' 转换为它后面的 3 个连续字符,结果为 "zab"

返回 恰好 执行 t 次转换后得到的字符串的 长度

由于答案可能非常大,返回其对 10^9+7 取余的结果。

难度:困难

分析

我们可以用一个长度为26的数组存储每种字符的个数,每次操作都更改了每种字符的个数,由于此题数据量较大,暴力模拟会超时,因此我们考虑使用矩阵进行运算。我们把统计字符的数据当作一个1*n的矩阵,因为转换规则不变,所以每次操作都是乘上一个相同的n*n的矩阵,我们可以更改运算顺序,先计算n*n的矩阵的t次幂再和1*n的矩阵相乘得到结果。我们可以参照快速幂的思想实现矩阵快速幂(见代码)。

解答

class Solution {public int lengthAfterTransformations(String s, int t, List<Integer> nums) {long[] count=new long[26];final int MOD=1000000007;for (int i=0;i<s.length();i++){count[s.charAt(i)-'a']++;}long[][] matrix=new long[26][26];for (int i=0;i<26;i++){for (int j=1;j<=nums.get(i);j++){int index=(i+j)%26;matrix[i][index]=1;}}// count * matrix t次 count中的值需要MOD// matrix t次快速幂matrix = rapid(matrix,t,MOD);long[] temp=new long[26];for (int i=0;i<26;i++){for (int j=0;j<26;j++){temp[i]=(temp[i]+count[j]*matrix[j][i])%MOD;}}count=temp;long ans=0;for (int i=0;i<26;i++){ans=(ans+count[i])%MOD;}return (int)ans;}private long[][] rapid(long[][] matrix, int t, int MOD){int n=matrix.length;long[][] ans=new long[n][n];for (int i=0;i<n;i++){ans[i][i]=1;}while (t>0){if ((t&1)==1){ans=multiply(ans,matrix,MOD);}matrix=multiply(matrix,matrix,MOD);t>>=1;}return ans;}private long[][] multiply(long[][] m1, long[][] m2, int MOD){int n=m1.length;long[][] ans=new long[n][n];for (int i=0;i<n;i++){for (int j=0;j<n;j++){for (int k=0;k<n;k++){ans[i][j]=(ans[i][j]+m1[i][k]*m2[k][j])%MOD;}}}return ans;}
}

“求知若渴,虚心若愚。”——史蒂夫·乔布斯

http://www.dtcms.com/wzjs/475691.html

相关文章:

  • 怎么做网站赚钱软件b站推广网站2022
  • 手机软件平台开发seo中国
  • 网站页脚需要放什么宁波企业seo服务
  • 做门窗网站怎么做阿里云注册域名
  • 企业网站建设三网合一如何对网站进行推广
  • 网站代付系统怎么做云南网络营销公司
  • wordpress购物车系统如何做一个网站的seo
  • 上海做网站的公seo是什么意思职业
  • 专业做网站安全的sine安重庆seo怎么样
  • 镇江建设网站的公司南京seo优化推广
  • 山东建设厅官方网站一级建造师5g网络优化
  • 这是我自己做的网站seo咨询常德
  • 虎扑的网站是用什么技术做的站长之家 seo查询
  • 爱客crm软件下载网站关键词优化排名外包
  • 如何建立网站站点搜索引擎排名优化seo课后题
  • wordpress 微信 登陆地址seo人员的相关薪资
  • 一元云购 网站开发全网营销推广 好做吗
  • 做家电选招标采购哪一个网站好台州关键词优化推荐
  • 网站建设修改教程视频新闻今日头条最新消息
  • 做刀模线网站网络营销策略内容
  • 做海报去哪个网站找素材比较好呢免费google账号注册入口
  • 济南工装定制公司搜索引擎优化概述
  • 手机网站 分享网络推广运营
  • 动态网站开发期末考试答案网络营销有哪些
  • 沈阳教做网站衡水seo营销
  • 蒲县网站建设南昌seo推广公司
  • 有视频做的很好的网站吗我们seo
  • 怎么写网站建设方案书重庆人社培训网
  • sql做网站网站维护中是什么意思
  • 如何创建一个自己的公众号页面优化