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

莎娜琳官方网站做水装修公司加盟好还是自己开

莎娜琳官方网站做水,装修公司加盟好还是自己开,百度广告推广怎么收费了,桂林北站到两江机场有多远本文涉及知识点 树状数组 队列 LeetCode1505. 最多 K 次交换相邻数位后得到的最小整数 给你一个字符串 num 和一个整数 k 。其中#xff0c;num 表示一个很大的整数#xff0c;字符串中的每个字符依次对应整数上的各个 数位 。 你可以交换这个整数相邻数位的数字 最多 k 次…本文涉及知识点 树状数组 队列 LeetCode1505. 最多 K 次交换相邻数位后得到的最小整数 给你一个字符串 num 和一个整数 k 。其中num 表示一个很大的整数字符串中的每个字符依次对应整数上的各个 数位 。 你可以交换这个整数相邻数位的数字 最多 k 次。 请你返回你能得到的最小整数并以字符串形式返回。 示例 1 输入num “4321”, k 4 输出“1342” 解释4321 通过 4 次交换相邻数位得到最小整数的步骤如上图所示。 示例 2 输入num “100”, k 1 输出“010” 解释输出可以包含前导 0 但输入保证不会有前导 0 。 示例 3 输入num “36789”, k 1000 输出“36789” 解释不需要做任何交换。 示例 4 输入num “22”, k 22 输出“22” 示例 5 输入num “9438957234785635408”, k 23 输出“0345989723478563548” 提示 1 num.length 30000 num 只包含 数字 且不含有 前导 0 。 1 k 109 树状数组 第一种操作让s[i1]变小第二种操作让s[i11…n-1]都变小。显然第一种操作比第二种操作更小。故i从小到大处理s[i]。 处理s[i]时依次枚举下标最小的s[i]等于ch ,ch ‘0’ to ‘9’ 如果能交换则交换并处理下一个i。 这样做的时间复杂度是O(nn)超时。 令某字符的原始下标为i1其它字符交换后若干次后i1的变化规律。如果起始位置都小于i1或都大于i1则对i1无影响。 由于从小到大处理i所以起始位置i一定小于i1。只需要统计大于i1的交换次数。如果原始下标大于i1的交换次数为cnt1则i1当前的左边为i1cnt1。 i1cnt1需要交换i1cnt1- i 次。下标大于i1的交换次数总交换次数(i) - 下标小于等于i1的交换次数。 如果算上自己交换自己交换一定能成功。 队列数组 indexs[i]升序记录 i‘0’ 交换成功的队列出队。 时间复杂度 O(nlogn) 代码 核心代码 templateclass ELE int class CTreeArr { public:CTreeArr(int iSize) :m_vData(iSize 1){}void Add(int index, ELE value){index;while (index m_vData.size()){m_vData[index] value;index index (-index);}}ELE Sum(int index){index;ELE ret 0;while (index){ret m_vData[index];index - index (-index);}return ret;}ELE Get(int index){return Sum(index) - Sum(index - 1);} private:vectorELE m_vData; };class Solution { public:string minInteger(string num, int k) {queueint indexs[10];for (int i 0; i num.length(); i) {indexs[num[i] - 0].emplace(i);}string ret;CTreeArrint ta(num.length());for (int i 0; i num.length(); i) {for (int j 0; j 10; j) {if (indexs[j].empty()) { continue; }const int inx indexs[j].front();const int cnt1 i - ta.Sum(inx);const int need inx cnt1 - i;if (need k) {k - need;ta.Add(inx, 1);ret (0 j);indexs[j].pop();break;}}}return ret;} };单元测试 templateclass T1,class T2 void AssertEx(const T1 t1, const T2 t2) {Assert::AreEqual(t1 , t2); }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 num;int k;TEST_CLASS(UnitTest){public:TEST_METHOD(TestMethod0){num 4321, k 4;auto res Solution().minInteger(num, k);AssertEx(string(1342), res);}TEST_METHOD(TestMethod2){num 100, k 1;auto res Solution().minInteger(num, k);AssertEx(string(010), res);}TEST_METHOD(TestMethod3){num 36789, k 1000;auto res Solution().minInteger(num, k);AssertEx(string(36789), res);}TEST_METHOD(TestMethod4){num 22, k 22;auto res Solution().minInteger(num, k);AssertEx(string(22), res);}TEST_METHOD(TestMethod5){num 294984148179, k 11;auto res Solution().minInteger(num, k);AssertEx(string(124498948179), 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.hkea.cn/news/14322418/

相关文章:

  • 建设盗号网站的模块济宁手机网站建设公司
  • 婚庆素材网站免费seo网页优化工具
  • dephi 网站开发地图截选做分析图的网站
  • 如何使用域名访问网站网站推广经验
  • 如何迅速k掉网站网站支付页面设计
  • ps手机网站页面设计上海网站建设联系电
  • 滨州企业做网站网络优化工程师有多累
  • 邹城网站建设zc273500网页制作与设计src什么意思
  • 微信分销网站建设哪家好自己个人怎样做电商
  • 昆网站制作三网合一网站建设是指什么
  • 做网站主色调选择肇庆企业免费建站
  • 个人网站开发的感想做数据ppt模板下载网站
  • 全国网站排名网站网站开发建设
  • 重庆水舟科技做网站本地黄页小程序
  • 做酒店管理网站的作用宁波建筑信息平台
  • iis7 网站404错误信息上海发布官网最新版
  • 网店平台网站建设需求wordpress头部
  • 一个完整的个人网站智能科技网站模板
  • 展示型网站系统微信小程序开发实例教程
  • 免费php网站源码表格网站怎么做的
  • 免费做视频网站哈尔滨模板建站哪个品牌好
  • 广州住房和建设局网站官网山东济南网站建设
  • 游泳池建设有专门的网站吗最近的新闻事件
  • 网站个人博客怎么做湖南人文科技学院官网首页
  • 怎么才能搜索到自己做的网站国外论文类网站有哪些方面
  • 衡阳市建设协会网站手机社区网站模板
  • 免费建网站 步骤超级软文网
  • 做网站的皮包公司爱站网能不能挖掘关键词
  • 深圳做app网站大展建筑人才网
  • 江门网站建设推广家装要去哪个公司装修