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

网站建设费用:做个网站要多少钱?主机屋免费服务器

网站建设费用:做个网站要多少钱?,主机屋免费服务器,养生网站策划,爱心互助网站开发514. 自由之路 题目描述#xff1a; 电子游戏“辐射4”中#xff0c;任务 “通向自由” 要求玩家到达名为 “Freedom Trail Ring” 的金属表盘#xff0c;并使用表盘拼写特定关键词才能开门。 给定一个字符串 ring #xff0c;表示刻在外环上的编码#xff1b;给定另一…514. 自由之路 题目描述 电子游戏“辐射4”中任务 “通向自由” 要求玩家到达名为 “Freedom Trail Ring” 的金属表盘并使用表盘拼写特定关键词才能开门。 给定一个字符串 ring 表示刻在外环上的编码给定另一个字符串 key 表示需要拼写的关键词。您需要算出能够拼写关键词中所有字符的最少步数。 最初ring 的第一个字符与 12:00 方向对齐。您需要顺时针或逆时针旋转 ring 以使 key 的一个字符在 12:00 方向对齐然后按下中心按钮以此逐个拼写完 key 中的所有字符。 旋转 ring 拼出 key 字符 key[i] 的阶段中 您可以将 ring 顺时针或逆时针旋转 一个位置 计为1步。旋转的最终目的是将字符串 ring 的一个字符与 12:00 方向对齐并且这个字符必须等于字符 key[i] 。如果字符 key[i] 已经对齐到12:00方向您需要按下中心按钮进行拼写这也将算作 1 步。按完之后您可以开始拼写 key 的下一个字符下一阶段, 直至完成所有拼写。 示例1 输入: ring godding, key gd 输出: 4 解释:对于 key 的第一个字符 g已经在正确的位置, 我们只需要1步来拼写这个字符。 对于 key 的第二个字符 d我们需要逆时针旋转 ring godding 2步使它变成 ddinggo。当然, 我们还需要1步进行拼写。因此最终的输出是 4。 示例 2: 输入: ring godding, key godding 输出: 13提示 1 ring.length, key.length 100ring 和 key 只包含小写英文字母保证 字符串 key 一定可以由字符串  ring 旋转拼出 思路 动态规划大神思路在代码区 代码 cv 的大佬Ikaruga的代码 class Solution { public:int findRotateSteps(string ring, string key) {vectorint pos[26];//记录ring里每个字符都在哪 godding里是 g在 0 6 d在 2 3for (int i 0; i ring.size(); i) {pos[ring[i] - a].push_back(i);}vectorvectorint dp(key.size(), vectorint(ring.size(), INT_MAX));//dp[i][j]的定义 在匹配key中第i个字母的时候使用ring中第j个位置所需要的操作。for (int i 0; i key.size(); i) {for (auto j : pos[key[i] - a]) {//j是key[i] 在环内的位置if (i 0) {//key的第一个字母 不需要考虑任何前面的次数//只需要计算 指针从0 转到 j 的操作次数 再加上 1 选择当前 就是总操作数dp[i][j] min(dp[i][j], 0 clac(ring.size(), 0, j) 1);continue;}//当i非0的时候 需要看一下之前字母的操作次数//k 就是前一个字母的位置for (auto k : pos[key[i - 1] - a]) {//非第一个的字母 需要看一下从前面的字母怎么转移来是操作数最小的。//比如那个老哥给的例子dp[0][1] 2, dp[0][8] 3,//然后匹配第二个字母的时候dp[1][3] min(dp[0][1] 从1转到3 1, dp[0][8] 从 8 转到3 1)dp[i][j] min(dp[i][j], dp[i - 1][k] clac(ring.size(), k, j) 1);}}}return *min_element(dp.back().begin(), dp.back().end());}//计算从 指针在a 到 字母所在位置b 最少需要转多少次int clac(int len, int a, int b) {return min((len a - b) % len, (len b - a) % len);} }; 参考循环队列的出入队以及求队长的操作可以得到从某一位置到另一位置的最近步数 min((len a - b) % len, (len b - a) % len); 再来一个Python class Solution:def findRotateSteps(self, ring: str, key: str) - int:#先用一个哈希表存放ring中各个字母的索引hs dict()for i in range(len(ring)):if ring[i] not in hs:hs[ring[i]] [i]else:hs[ring[i]].append(i)#初始化dp数组包括初始化第一行m,n len(ring),len(key)dp [float(inf)]*mfor q in hs[key[0]]:dp[q] min(q,m-q)1for i in range(1,n):#分为两种情况1.正在处理的字母与上一个字母不同2.正在处理的字母与上一个字母相同if key[i]!key[i-1]:for p in hs[key[i-1]]:for j in hs[key[i]]:dp[j] min(dp[j],min(abs(j-p),m-abs(j-p))dp[p]1)dp[p] float(inf)else:for j in hs[key[i]]:# tmp float(inf)# for p in hs[key[i-1]]:# tmp min(tmp,min(abs(j-p),m-abs(j-p))dp[p]1)# dp[j] tmpdp[j]1return min(dp)
http://www.zqtcl.cn/news/393586/

相关文章:

  • 做网站建设的平台wordpress5.0发布
  • 站长工具a级查网站域名
  • 免费做网站电话手机开发者模式打开有什么影响
  • 上海免费网站建站模板毕节做网站优化
  • 影响网站建设的关键点手机网站制作app
  • 商务网站建设的流程深圳模板网站建设案例
  • 做中英文网站多少钱方维制网站
  • 做一个信息发布网站要多少钱开发小程序多少钱一个
  • 山东网站设计网站关键词设置技巧
  • 做网站服务怎么赚钱产品展示型的网站功能有哪些
  • 丹东网站制作宁波网站建设公司制作网站
  • 南宁建设工程质量网站九江网站建设九江
  • 永州市住房和城乡建设厅网站服务器可以做几个网站
  • 哪里学网站建设与管理做移动端电影网站
  • 境外企业网站推广大冶市建设局网站
  • 户网站建设的不全.阿里巴巴国际站
  • 定制手机壳的网站能在家做的兼职的网站
  • 温州营销型网站建设郴州网络推广公司
  • asp.net 做网站源代码网站怎么做配置文件夹
  • 网站建设云尚网络wordpress首页flash
  • 北京优化网站宁波网络营销策划公司
  • 网站建设项目前分析电商运营一般要学多久
  • 哪个网站可以做卖房网站菜单模板
  • 网站推广渠道特点郑州百度推广外包
  • 合肥高端网站建设设计公司wordpress 多语言主题
  • 北京工程工程建设交易信息网站wordpress 角色 功能
  • 做购物网站有什么要求吗wordpress查看访问量
  • 多城市网站设计阿里云网站访问不了怎么办
  • 南岗哈尔滨网站建设开发小程序多少费用
  • 百度网站入口特效词品牌企业网站建设公司