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

网站建设销售发展前景甘肃住房和城乡建设局网站

网站建设销售发展前景,甘肃住房和城乡建设局网站,十堰网站建设u2028,建怎样的网站挣钱快LeetCode#xff1a;31. 下一个排列 字典序的大小排序#xff1a; 从前往后对比#xff0c;如果先出现更小字符的#xff0c;字典序更小#xff0c;如果有个字符串结束了#xff0c;则它更小。string s 112233和string t 1122334#xff0c;…LeetCode31. 下一个排列 字典序的大小排序 从前往后对比如果先出现更小字符的字典序更小如果有个字符串结束了则它更小。string s 112233和string t 1122334s更小 根据字典序排序说法我们想找到尽可能小的比当前字典序大的字符串我们就要尽可能的使得字典序大的出现在更右边。 我们考虑极端情况如1122334比它更大一点的将是1122343我们会发现我们只需要将右边较大的一个数与前面较小的一个数交换就能变得更大不过为了更小我们需要将交换后的后面部分从小到大排序。 14321从右往前看最右边的1走到4都是升序也就是这一段不可能可以交换变得更大同理只要从右边开始看一直是升序的段就不可能可以交换变得更大而如果出现非升序也就是最左边的1那就必然可以交换了因为一定有右边存在一个数比这个数大当然我们想要最小的更大的数跟最左边的1交换我们就需要找到2。 算法思路 124 2 98765432 从右往左找到一个断层的第一个数如果没有那么整个降序就是答案再给出的例子里是空出来的2在这个断层的数右边找一个比它大但在右边最小的数与其交换。交换后右边的数还是顺序排列的这个更大数是右边的3,交换后变为124398765422反转右边的数注意右边的数一定是按顺序排列的因为我们按1.的方式进行查找的反转后变为124322456789这保证了更大但是是更大中的最小的那一个。 时间复杂度 O ( n ) O(n) O(n) 空间复杂度 O ( 1 ) O(1) O(1) class Solution { public:void nextPermutation(vectorint nums) {int i nums.size() - 2;for(; i 0; -- i){if(nums[i] nums[i 1]) break;}if(i 0){reverse(nums.begin(), nums.end());return;}int j i 1;for(; j nums.size(); j){if(nums[i] nums[j]) break;}swap(nums[i], nums[j - 1]);reverse(nums.begin() i 1, nums.end());return;} };
http://www.zqtcl.cn/news/632117/

相关文章:

  • 天津公司网站怎样制作网页设计图片尺寸
  • 网站建设中模板代码网络营销推广公司哪家好
  • 百度免费建立网站搜索引擎推广效果
  • 网站建设分金手指排名十二建设内容管理网站的目的
  • 无锡网站策划制作网站的工具
  • 免费的网站开发软件百度做网站推广的费用
  • 汽车维修东莞网站建设怎么用阿里的域名 做网站
  • 网站怎么做免费cosy WordPress
  • wordpress 关闭自动更新青岛济南网站建设优化
  • 外贸网站推广平台哪个好如何建设手机端网站
  • linux新建网站巩义网站建设定制
  • 网站建设要什么软件有哪些北京seo
  • 空调设备公司网站建设wordpress 4.9
  • 潮州市网站建设公司网页设计代码模板素材
  • 深圳做网站开发费用个人网页设计作品手绘
  • 怎样做网站跳转国内企业建站模板
  • 优化网站哪个好互联网公司市值
  • 广州微信网站开发游戏企业用什么程序做网站
  • 深圳赶集同城网站建设网站空间类型
  • 怎么样做网站代wordpress手机上传图片插件
  • 西安做网站xamokjwordpress 酒业模板
  • 做微博网站如何开网店卖自己的东西
  • 黄骅市有什么好玩的地方常州百度seo排名
  • 做英语在线翻译兼职网站公交建设公司的官网
  • 做网站需要什么电脑律师事务所在线咨询免费
  • 网站建设推广公司需要哪些岗位建站模板源码
  • 网站深圳优化建设购物网站模版
  • 网站后端用什么软件做广西城乡建设部网站首页
  • wordpress android客户端湛江网站关键词优化
  • 建材企业网站推广方案申请域名建立网站