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

做网站客户要求多很烦济南 网站设计公司

做网站客户要求多很烦,济南 网站设计公司,wordpress登录微信插件下载失败,如何将qq音乐链接到wordpress本文涉及知识点 动态规划汇总 字符串 状态机动态规划 LeetCode1320. 二指输入的的最小距离 二指输入法定制键盘在 X-Y 平面上的布局如上图所示#xff0c;其中每个大写英文字母都位于某个坐标处。 例如字母 A 位于坐标 (0,0)#xff0c;字母 B 位于坐标 (0,1)#xff0…本文涉及知识点 动态规划汇总 字符串 状态机动态规划 LeetCode1320. 二指输入的的最小距离 二指输入法定制键盘在 X-Y 平面上的布局如上图所示其中每个大写英文字母都位于某个坐标处。 例如字母 A 位于坐标 (0,0)字母 B 位于坐标 (0,1)字母 P 位于坐标 (2,3) 且字母 Z 位于坐标 (4,1)。 给你一个待输入字符串 word请你计算并返回在仅使用两根手指的情况下键入该字符串需要的最小移动总距离。 坐标 (x1,y1) 和 (x2,y2) 之间的 距离 是 |x1 - x2| |y1 - y2|。 注意两根手指的起始位置是零代价的不计入移动总距离。你的两根手指的起始位置也不必从首字母或者前两个字母开始。 示例 1 输入word “CAKE” 输出3 解释 使用两根手指输入 “CAKE” 的最佳方案之一是 手指 1 在字母 ‘C’ 上 - 移动距离 0 手指 1 在字母 ‘A’ 上 - 移动距离 从字母 ‘C’ 到字母 ‘A’ 的距离 2 手指 2 在字母 ‘K’ 上 - 移动距离 0 手指 2 在字母 ‘E’ 上 - 移动距离 从字母 ‘K’ 到字母 ‘E’ 的距离 1 总距离 3 示例 2 输入word “HAPPY” 输出6 解释 使用两根手指输入 “HAPPY” 的最佳方案之一是 手指 1 在字母 ‘H’ 上 - 移动距离 0 手指 1 在字母 ‘A’ 上 - 移动距离 从字母 ‘H’ 到字母 ‘A’ 的距离 2 手指 2 在字母 ‘P’ 上 - 移动距离 0 手指 2 在字母 ‘P’ 上 - 移动距离 从字母 ‘P’ 到字母 ‘P’ 的距离 0 手指 1 在字母 ‘Y’ 上 - 移动距离 从字母 ‘A’ 到字母 ‘Y’ 的距离 4 总距离 6 提示 2 word.length 300 每个 word[i] 都是一个大写英文字母。 动态规划 vPosr和vPosc记录各字母所在行列。 动态规划规格的状态表示 dp[i][j][k] 表示处理了i个字母两只手指分别在字母i和j的最少移动次数。 pre[j][k] dp[i][j][k] dp[j][k] dp[i1][j][k] 空间复杂度O(n ∑ ∑ \sum\sum ∑∑)其中n word.lenght ∑ \sum ∑ 是字符集的大小为26。 动态规划的转移方程 任何前置状态都有只有两个转化方式。移动手指1移动手指2。 单个状态的时间复杂度O(1) 总时间复杂度O(n ∑ ∑ \sum\sum ∑∑) 动态规划的初始状态 全部为0 动态规划的填表顺序 i 0 : to n-1 动态规划的返回值 min(pre) 代码 核心代码 templateclass ELE, class ELE2 void MinSelf(ELE* seft, const ELE2 other) {*seft min(*seft, (ELE)other); }class Solution { public:int minimumDistance(string word) {int rs[26], cs[26];for (int i 0; i 26; i) {rs[i] i / 6;cs[i] i % 6;}vectorvectorint pre(26, vectorint(26));for (int i 0; i word.length(); i) {const int cur word[i] - A;vectorvectorint dp(26, vectorint(26, m_iNotMay));for (int j1 0; j1 26; j1) {for (int j2 0; j2 26; j2) {const int need1 abs(rs[j1] - rs[cur]) abs(cs[j1] - cs[cur]);MinSelf(dp[cur][j2], pre[j1][j2] need1);const int need2 abs(rs[j2] - rs[cur]) abs(cs[j2] - cs[cur]);MinSelf(dp[j1][cur], pre[j1][j2] need2);}}pre.swap(dp);}int iRet m_iNotMay;for (const auto v : pre) {iRet min(iRet, *std::min_element(v.begin(),v.end()));}return iRet;}const int m_iNotMay 1000000; };单元测试 templateclass T void AssertEx(const vectorT v1, const vectorT v2) {Assert::AreEqual(v1.size(), v2.size()); for (int i 0; i v1.size(); i){Assert::AreEqual(v1[i], v2[i]);} }templateclass T void AssertV2(vectorvectorT vv1, vectorvectorT vv2) {sort(vv1.begin(), vv1.end());sort(vv2.begin(), vv2.end());Assert::AreEqual(vv1.size(), vv2.size());for (int i 0; i vv1.size(); i){AssertEx(vv1[i], vv2[i]);} }namespace UnitTest {string word;TEST_CLASS(UnitTest){public:TEST_METHOD(TestMethod0){word AB;auto res Solution().minimumDistance(word);AssertEx(0, res);}TEST_METHOD(TestMethod01){word ABC;auto res Solution().minimumDistance(word);AssertEx(1, res);}TEST_METHOD(TestMethod02){word ABCD;auto res Solution().minimumDistance(word);AssertEx(2, res);}TEST_METHOD(TestMethod03){word ABM;auto res Solution().minimumDistance(word);AssertEx(1, res);}TEST_METHOD(TestMethod04){word ABCM;auto res Solution().minimumDistance(word);AssertEx(2, res);}TEST_METHOD(TestMethod11){word CAK;auto res Solution().minimumDistance(word);AssertEx(2, res);}TEST_METHOD(TestMethod1){ word CAKE;auto res Solution().minimumDistance(word); AssertEx(3, res);}TEST_METHOD(TestMethod20){word HAPP;auto res Solution().minimumDistance(word);AssertEx(2, res);}TEST_METHOD(TestMethod2){word HAPPY;auto res Solution().minimumDistance(word);AssertEx(6, res);}}; }扩展阅读 视频课程 先学简单的课程请移步CSDN学院听白银讲师也就是鄙人的讲解。 https://edu.csdn.net/course/detail/38771 如何你想快速形成战斗了为老板分忧请学习C#入职培训、C入职培训等课程 https://edu.csdn.net/lecturer/6176 相关推荐 我想对大家说的话《喜缺全书算法册》以原理、正确性证明、总结为主。按类别查阅鄙人的算法文章请点击《算法与数据汇总》。有效学习明确的目标 及时的反馈 拉伸区难度合适 专注闻缺陷则喜(喜缺)是一个美好的愿望早发现问题早修改问题给老板节约钱。子墨子言之事无终始无务多业。也就是我们常说的专业的人做专业的事。如果程序是一条龙那算法就是他的是睛 测试环境 操作系统win7 开发环境 VS2019 C17 或者 操作系统win10 开发环境 VS2022 C17 如无特殊说明本算法用**C**实现。
http://www.dnsts.com.cn/news/24898.html

相关文章:

  • wix做网站步骤个人主题网站做的步骤
  • 电子平台网站加盟网站制作费用
  • 南城做网站中天钢铁 网站建设
  • 西安云众网站建设厦门网站建设培训费用
  • 红桥集团网站建设建设网站服务器怎么选
  • 深圳建筑设计平台网站专门做电路图的网站
  • 厦门网站设计大概多少钱建设库
  • 企业网站构建方案谷歌浏览器下载视频
  • lamp 网站建设论文影视app搭建教程
  • 做户外照明有哪些网站做计算机网站有哪些内容
  • 做网站月薪资多少钱上海软件培训网站建设
  • 知识付费网站搭建教程成都软件外包开发
  • 网架生产厂家来宾网站优化
  • 增塑剂网站建设企业网站建设费未付款怎样挂账
  • 做移动网站多少钱沧州网站推广优化
  • 最新企业网站系统太原网站设计开发公司
  • 企业免费网站建设aspcms免费旅游网站模板
  • 网站建设多少钱需要wordpress两个站合并
  • wordpress里面的副标题啥意思新网站如何做seo优化
  • 从江网站建设wordpress分类目录顺序
  • 竹子建站seo设置怎么做企业网站运营推广难做吗
  • 怎样接做网站的活奉贤建设机械网站
  • 网站开发主流四川建设网官网地址
  • 网站推广的10种方法电商公司有哪些?
  • 企业网站设计软件文旅部:不随意关停娱乐场所
  • 淮北建设银行官方网站微信商城开店步骤
  • 用什么开发手机网站免费下载公司宣传册设计样本
  • 网站后台教程99作文网官网
  • 腾云网建设网站linux系统 wordpress
  • 做网站如何与美工配合创业ppt模板免费