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

二手书市场网站建设项目规划表如何做网站推广私人

二手书市场网站建设项目规划表,如何做网站推广私人,最好玩的网页游戏,嘉兴首页交换位置,双指针,排序。 题目 下一个排列即在组成的排列中的下一个大的数,然后当这个排列为降序时即这个排列最大,因为大的数在前面,降序排列的下一个数即升序。所以,要是想找到当前排列的下一个排列&…

交换位置,双指针,排序。

题目

下一个排列即在组成的排列中的下一个大的数,然后当这个排列为降序时即这个排列最大,因为大的数在前面,降序排列的下一个数即升序。所以,要是想找到当前排列的下一个排列,肯定是先从后面开始找,因为后面的数做交换才使得排列尽可能接近。可以想一下,从最后一个数往回找时,如果一直是升序,就说明已经是最大了,直到找到那个不是升序的数做交换,即要操作的下一排列了,交换时的数应该是扫描数组的大于目标数的最小数,这样才符合原数组的下一个排列。注意从后往前找的升序即从前往后的降序,找到目标数后,还要处理目标数的后面序列,从前往后看,显然刚刚扫描的序列是降序的,这样后面几个数组成的排列是最大的显然不符合下一个序列。在当前数do过后,后面的数应该是最小的即从前往后升序的状态。

时间复杂度: O(n),空间复杂度: O(1)。

class Solution {public void nextPermutation(int[] nums) {int i = nums.length - 2;while (i >= 0 && nums[i] >= nums[i + 1]) {i--;}if (i >= 0) {int j = nums.length - 1;while (j >= 0 && nums[i] >= nums[j]) {j--;}swap(nums, i, j);}reverse(nums, i + 1);}public void swap(int[] nums, int i, int j) {int temp = nums[i];nums[i] = nums[j];nums[j] = temp;}public void reverse(int[] nums, int start) {int left = start, right = nums.length - 1;while (left < right) {swap(nums, left, right);left++;right--;}}
}

也可以用sort方法直接排。

class Solution {public void nextPermutation(int[] nums) {int len = nums.length;for (int i = len - 1; i >= 0; i--) {if (i == 0) {Arrays.sort(nums);return;} else {if (nums[i] > nums[i - 1]) {Arrays.sort(nums, i, len);for (int j = i; j <len; j++) {if (nums[j] > nums[i - 1]){swap(nums,j,i-1);return;}}}}}}private void swap(int[] nums, int i,int j){int tmp =nums[i];nums[i]=nums[j];nums[j]=tmp;}
}

找准双指针扫描的范围,对准目标数做操控。 

 

http://www.dtcms.com/wzjs/786450.html

相关文章:

  • asp.net 制作网站开发传统文化网站建设方案
  • 最好用的免费建站阿里云空间做网站
  • 网站制作洋网络计算机应用技术
  • 贸易网站建设方案立水桥大型网站建设
  • 了解网站开发 后台流程上海做网站公
  • 网站源码带后台扬中市住房和城乡建设局网站
  • 网站建设简单文件包上传的网站怎么做
  • 自适应平台网站应用开发框架
  • 网站一年了百度不收录广东新闻联播今天
  • 银川做淘宝网站的大型网站开发团队
  • 网站备案属于公司哪一块建设网站需要的软件
  • 网站提示建设中山东线上推广软件
  • 关于美食的网站设计免费设计logo的app
  • 密云建站推广有什么网站可以做编程题
  • 济南网站制作策划知名网站建设是哪家便宜
  • 河北石家庄网站建设免费精准客户软件
  • 章丘网站开发域名解析服务器
  • 永康做网站公司wordpress获取文章类别目录
  • 杭州网站建设培训厦门it做网站最强
  • 用网站素材做logo大型网站建设优化排名
  • 国外门户网站设计网站建设功能选择表
  • 分类信息网站怎么做wordpress如何做网站
  • 深圳外贸soho网站建设网站开发需要哪些基础技术
  • 专业网页网站设计图书wordpress doaction
  • 关于网站备案新闻热点事件2023最新
  • 台州黄岩做网站代理注册公司代理记账
  • 凡科网网站后台建设php微网站开发
  • 一家企业如何做网站推广推动高质量发展心得体会
  • 盐城专业做网站的公司哪家好公司云网站建设
  • 保定网站建设保定网站设计内容包括