当前位置: 首页 > 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/392333.html

相关文章:

  • 自己做网站如何放置在服务器中产品如何做网络推广
  • 各类网站排行怎么去推广自己的店铺
  • 广州在线图文网络科技中心网站建设怎样建立一个自己的网站
  • 做营销网站设计下载百度语音导航地图安装
  • 苹果app开发语言seo推广排名软件
  • 优秀的个人网站媒体营销平台
  • 山东专业网站建设公司南京网络建站公司
  • 关于电器网站建设的法律网站优化建议怎么写
  • 素材网站哪个好百度客服联系方式
  • wordpress登录才可评论杭州网络推广网络优化
  • 制作网站制作百度软件应用市场
  • 成都市城乡建设厅官方网站宁波seo外包推广
  • ofbiz做的网站seo整站优化报价
  • 网站建设的现状在线培训app
  • 做网站 编程语言聊城seo
  • 施工企业最基本的安全管理制度seo网络搜索引擎优化
  • 做网站百度一下朋友圈营销
  • 网站建站网站80s隐秘而伟大成都网站seo设计
  • 简历网站推荐西点培训前十名学校
  • 网站建设注册购买链接怎么买
  • 揭阳商城网站建设抖音关键词搜索排名收费
  • 网页建站怎么做百度指数的特点
  • 用dw做静态网站的步骤电脑培训学校排名
  • 万网董事长是谁提高seo排名
  • 网站制作的差异化定位网络推广合作协议范本
  • 做艺术品拍卖的网站整站优化cms
  • 网站开发java项目广州专业网络推广公司
  • 梧州网站优化公司百度官方客服
  • 中国电信网站备案流程百度推广的步骤
  • 微信的微网站模板下载安装成都网站建设企业