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

祁东县建设局网站淄博免费网站建设哪家好

祁东县建设局网站,淄博免费网站建设哪家好,专业的外贸行业网站制作,网络免费推广文章目录 1. 题目2.分析3.解答3.1 先排序#xff0c;后交换3.2 先交换#xff0c;后排序 1. 题目 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如#xff0c;arr [1,2,3] #xff0c;以下这些都可以视作 arr 的排列#xff1a;[1,2,3]、[1,3,2]、[3… 文章目录 1. 题目2.分析3.解答3.1 先排序后交换3.2 先交换后排序 1. 题目 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如arr [1,2,3] 以下这些都可以视作 arr 的排列[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地如果数组的所有排列根据其字典顺序从小到大排列在一个容器中那么数组的 下一个排列 就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列那么这个数组必须重排为字典序最小的排列即其元素按升序排列。 例如arr [1,2,3] 的下一个排列是 [1,3,2] 。类似地arr [2,3,1] 的下一个排列是 [3,1,2] 。而 arr [3,2,1] 的下一个排列是 [1,2,3] 因为 [3,2,1] 不存在一个字典序更大的排列。 给你一个整数数组 nums 找出 nums 的下一个排列。 必须 原地 修改只允许使用额外常数空间。 2.分析 这里需要找下一个字典序更大的排列那么意味着要从数组的后端入手。如果最后两个元素原本就是升序的那么就直接交换这两个元素就好了这个组合即使下一个更大的组合。 但是如果这两个元素不是升序的那么交换这两个元素反而导致拍列更小。因此必须要找到从后向前数的第一个升序排列的两个相邻元素。找到之后交换这两个元素即可。 但是交换后的元素依然不一定是下一个更大排列组合。如[5,7,6,4]这个排列交换5和7得到的是[7,5,6,4]这个组合显然不是下一个更大排列毕竟手动排列组合一下发现下一个组合应该是[6,4,5,7] 那么应该是考虑从后向前第一个升序段的后一个元素开始将后面所有的元素按字典排序然后找到紧挨着升序点前一个元素的那个元素将其交换即可。 或者找到紧挨着升序段前一个元素的数据将其进行交换然后将从升序段后一个元素开始的数据按字典方式排序。 3.解答 3.1 先排序后交换 public class Solution {public void nextPermutation(int[] nums) {if (nums.length 1) return;int len nums.length;for (int i len - 1; i 0;i--) {if (nums[i] nums[i - 1]) {Arrays.sort(nums, i, len);for (int j i; j len; j) {if (nums[j] nums[i - 1]) {int temp nums[j];nums[j] nums[i - 1];nums[i - 1] temp;return;}}}}Arrays.sort(nums);} }3.2 先交换后排序 public class Soultion {public void nextPermutation(int[] nums) {if (nums.length 1) return;int i nums.length - 2;int j nums.length - 1;int k nums.length - 1;while (i 0 nums[i] nums[j]) {i--;j--;} if (i 0) {while (nums[i] num[k]) {k--;}swap(nums, i, k);}Arrays.sort(nums, j, nums.length);}private void swap(int[], int i, int k) {int temp nums[i];nums[i] nums[k];nums[k] temp;} }
http://www.dnsts.com.cn/news/246967.html

相关文章:

  • 中国免费建站网开一个工作室需要多少钱
  • 山西大同专业网站建设价格手机做图纸app下载网站
  • 网站制作费用申请长沙 公司网站
  • 虚拟主机 部署网站吗红河网页设计
  • 网站建设的例子一个做问卷调查的网站
  • 2021好心人给个开车的网站搭建影视网站
  • 百度如何才能搜到你的网站新郑市网站建设小程
  • 手机网站开发免费视频教程南极电商是做什么的
  • 社区网站模板2023年防疫新政策
  • 站酷魔方网站建设中eclipse网站开发
  • 标志设计公司网站定制家具网站平台
  • 南京企业网站建设手机搭建免费网站
  • 做视频网站需要什么手续现在中国空间站有几个人
  • 网站的关键词排名怎么做精神文明建设专题网站
  • 网站建设书籍2013年的网站开发 北京外包公司
  • 个人网站 备案备注类似百科式的网站建设
  • 自己做微网站制作教程开发一款app需要投入多少钱
  • 网站首页 栏目页 内容页网站建设费用高
  • 网站开发工具链接服务器电子章怎么制作教程
  • 视频资源的网站怎么做手工制作玩具
  • 公司网站上传图库杭州seo推广服务
  • 南京网站建设苏icp备制作动画软件app手机
  • 做网站的公司成本怀化建设企业网站
  • 网站搜索优化找哪家建设工程合同管理网站
  • 亚马逊网站开发的技术图片搜集网站怎么做
  • 电商网站模板html重庆微信网站制作费用
  • 购物电商型网站怎么做网站建设基础策划
  • 织梦网站开发视频app开发公司定制小程序
  • 网站服务器提供什么服务山西建设工程执业注册中心网站
  • 营销型网站建设的标准12个优秀平面设计素材网站