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

北京微信网站设计费用seo知识总结

北京微信网站设计费用,seo知识总结,windows server 2008 网站配置,高仿做的好点的网站本文涉及知识点 数论:质数、最大公约数、菲蜀定理 LeetCode880. 索引处的解码字符串 给定一个编码字符串 s 。请你找出 解码字符串 并将其写入磁带。解码时,从编码字符串中 每次读取一个字符 ,并采取以下步骤: 如果所读的字符是…

本文涉及知识点

数论:质数、最大公约数、菲蜀定理

LeetCode880. 索引处的解码字符串

给定一个编码字符串 s 。请你找出 解码字符串 并将其写入磁带。解码时,从编码字符串中 每次读取一个字符 ,并采取以下步骤:
如果所读的字符是字母,则将该字母写在磁带上。
如果所读的字符是数字(例如 d),则整个当前磁带总共会被重复写 d-1 次。
现在,对于给定的编码字符串 s 和索引 k,查找并返回解码字符串中的第 k 个字母。
示例 1:
输入:s = “leet2code3”, k = 10
输出:“o”
解释:
解码后的字符串为 “leetleetcodeleetleetcodeleetleetcode”。
字符串中的第 10 个字母是 “o”。
示例 2:
输入:s = “ha22”, k = 5
输出:“h”
解释:
解码后的字符串为 “hahahaha”。第 5 个字母是 “h”。
示例 3:
输入:s = “a2345678999999999999999”, k = 1
输出:“a”
解释:
解码后的字符串为 “a” 重复 8301530446056247680 次。第 1 个字母是 “a”。
提示:
2 <= s.length <= 100
s 只包含小写字母与数字 2 到 9 。
s 以字母开头。
1 <= k <= 109
题目保证 k 小于或等于解码字符串的长度。
解码后的字符串保证少于 263 个字母。

数论

str记录所有字符串,int数组d记录所有数字。比如:ab3e1,则str = {“ab”,“e”},d = {3,1}。
long long数组len[i]记录各操作后的字符串的长度。
len[0]=0
{ l e n [ 2 i + 1 ] = l e n [ 2 i ] + s t r [ i ] . l e n g t h 奇数 l e n [ 2 i + 2 ] = l e n [ 2 i + 1 ] ∗ d [ i ] 偶数 \begin{cases} len[2i+1] = len[2i] + str[i].length && 奇数\\ len[2i+2] = len[2i+1]*d[i] && 偶数\\ \end{cases} {len[2i+1]=len[2i]+str[i].lengthlen[2i+2]=len[2i+1]d[i]奇数偶数
f(x)函数的定义:
len[i1] > x ,且i1最小
如果i1是奇数,return str[i1/2][x-len[i1-1]]。
如果i1是偶数:return f(x % len[i1-1])。
最终调用:f(k-1)。

代码

核心代码

class Solution {public:string decodeAtIndex(string s, int k) {const int N = s.length();vector<string> strs;vector<int> d;for (int i = 0; i < N;) {string str;while ((i < N) && isalpha(s[i])) {str += s[i]; i++;}strs.emplace_back(str);if ((i < N) && isdigit(s[i])) {d.emplace_back(s[i] - '0'); i++;}}if (d.size() < strs.size()) {d.emplace_back(1);}vector<long long> lens = { 0 };for (int i = 0; i < strs.size(); i++) {lens.emplace_back(lens.back() + strs[i].length());lens.emplace_back(lens.back() * d[i]);}function<char(int)> f = [&](long long x) {int i1 = upper_bound(lens.begin(), lens.end(), x)-lens.begin();if (i1 & 1) {return strs[i1 / 2][x - lens[i1 - 1]];}return f(x % lens[i1 - 1]);};return string(1,f(k - 1));}};

单元测试

string s;int k;TEST_METHOD(TestMethod1){s = "a1", k = 1;auto res = Solution().decodeAtIndex(s, k);AssertEx(string("a"), res);}TEST_METHOD(TestMethod2){s = "abc", k = 1;auto res = Solution().decodeAtIndex(s, k);AssertEx(string("a"), res);}TEST_METHOD(TestMethod11){s = "leet2code3", k = 10;auto res = Solution().decodeAtIndex(s,k);AssertEx(string("o"), res);}TEST_METHOD(TestMethod12){s = "ha22", k = 5;auto res = Solution().decodeAtIndex(s, k);AssertEx(string("h"), res);}TEST_METHOD(TestMethod13){s = "a2345678999999999999999", k = 1;auto res = Solution().decodeAtIndex(s, k);AssertEx(string("a"), res);}

扩展阅读

我想对大家说的话
工作中遇到的问题,可以按类别查阅鄙人的算法文章,请点击《算法与数据汇总》。
学习算法:按章节学习《喜缺全书算法册》,大量的题目和测试用例,打包下载。重视操作
有效学习:明确的目标 及时的反馈 拉伸区(难度合适) 专注
闻缺陷则喜(喜缺)是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。
子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。
如果程序是一条龙,那算法就是他的是睛
失败+反思=成功 成功+反思=成功

视频课程

先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771
如何你想快速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176

测试环境

操作系统:win7 开发环境: VS2019 C++17
或者 操作系统:win10 开发环境: VS2022 C++17
如无特殊说明,本算法用**C++**实现。

http://www.zhongyajixie.com/news/25676.html

相关文章:

  • 网站的困难百度系app
  • 邢台网站推广网页制作模板
  • 做网站设计需要什么技术西安seo哪家好
  • WordPress无法下单北京谷歌优化
  • 四川网站制作哪家好西安百度百科
  • 公司网站服务器优化百度安装app
  • 武汉网站seo靠谱企业网络规划设计方案
  • 网站定制开发公司推荐百度关键词竞价排名
  • 用花生壳免费域名做公司网站成都网站seo设计
  • 湖北网站建设推荐哪个平台可以随便发广告
  • 政府网站建设哪家好seo是哪个英文的缩写
  • 那个网做网站便宜搜易网托管模式的特点
  • 人事处网站建设绩效目标概述长春网站优化页面
  • 门户网站后台管理模板电话号码宣传广告
  • 综合门户网站开发seo网站地图
  • 免费的php网站模板怎么在百度上设置自己的门店
  • 做网站编程时容易遇到的问题网站网址查询工具
  • wordpress文章特效插件昆明seo网站建设
  • 做网销做什么网站策划
  • 犬舍网站怎么做长沙县网络营销咨询
  • 公司做网站的 oa办公系统贵州萝岗seo整站优化
  • 仿网站制作教学视频教程百度站长中心
  • 唐河网站建设seo的搜索排名影响因素主要有
  • 做公司网站公司多少钱设计培训班学费一般多少
  • 视频网站建设 方案上海网站seo外包
  • 网站建设与开发论文免费搜索引擎入口
  • 网站设计与制作一般步骤百度搜索图片
  • 如何让做的网站自动适应浏览器武汉seo网站优化技巧
  • 美女图片网站源码商业版本带数据全站生成html_带采集功能天津关键词优化平台
  • 北京做网站优化网站在线客服系统免费