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

模拟建筑2022手机版seo研究

模拟建筑2022手机版,seo研究,新产品推广策划方案,个人可以做下载类网站吗一、题目描述整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。例如,arr [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,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 的下一个排列。

必须 原地 修改,只允许使用额外常数空间。

示例 1:

输入:nums = [1,2,3]

输出:[1,3,2]

示例 2:

输入:nums = [3,2,1]

输出:[1,2,3]

示例 3:

输入:nums = [1,1,5]

输出:[1,5,1]

来源:力扣(LeetCode)

链接:https://leetcode.cn/problems/next-permutation

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

二、运行结果

三、解题思路

首先从后往前找到第一个减小的数字,记录其下标为index,如1357642,找到的数字是5,重点:该数字后面的所有数字是按从大到小排列的。如果不是,则表示在该数字之后还出现过减小的数字,那么当前数字就是不是倒序第一个减小的,矛盾。

如果没有找到减小的数字,就表示每一位数字都是按降序排列的,没有下一个更大的序列,逆置该数组返回即可。

如果找到了index,则从该下标往后找到比nums[index]大,而且是这数中最小的,如上面的数字找到的是6,然后交换5和6的位置,则数组变为1367542,index后面的数字仍是降序排列(7542),将index后面的所有数字变为升序排列(最小的排列)即可,此时数字变为1362457,即是下一个更大的排列。

四、AC代码

class Solution {public void nextPermutation(int[] nums) {int len = nums.length;int index = -1;for(int i=len-2; i>=0; i--){  //从后往前找到第一个下降的数字下标if(nums[i] < nums[i+1]){index = i;break;}}if(index == -1){  //不存在下一个更大的排列int i=0, j = len-1;while(i < j) {  //重新排列成最小的排列swap(nums, i, j);i++; j--; }return ;}int i = index;//寻找后面比该数字大的最小数字下标while(i < len-1 && nums[i+1] > nums[index]) i++;  swap(nums, i, index);  //交换两个位置的元素int j=index+1, k = len-1;while(j < k){  //将该数字后面的数排成最小序列(逆置)swap(nums, j, k);j++; k--;}}private void swap(int[] nums, int i, int j){int tmp = nums[i];nums[i] = nums[j];nums[j] = tmp;}
}
http://www.yayakq.cn/news/111304/

相关文章:

  • 五道口网站建设公司泉州建设网站公司吗
  • 怎样做网站个人简介网页版微信文件传输助手
  • 国外免费网站建设阿里云网站建设流程教案
  • 昆明网站建设开发外包比选三家网站建设公司
  • 有什么网站可以下做闭软件做网站的底图尺寸多大
  • 全球最大购物网站优惠券领取网站开发
  • 做影视网站算侵权吗营销的四种方式
  • 网站建设时间 人力及成本估算龙岩网络巨头
  • 安平网站建设培训友情链接网站
  • 简述如何对网站进行推广?高端公司网站设计
  • 网站推广优化排名承德网站推广
  • 帝国网站模板建设完成显示不正常注册成立公司的基本流程
  • 班级网站设计模板首页辽宁公司网站建设
  • 具有价值的专业网站建设平台网站建设衤金手指花总十五
  • 淘宝网页设计招聘seo博客教程
  • 长沙网站建设服务商竞价网官网
  • 在别的公司做的网站可以转走吗指数
  • 园林景观 网站建设商业网点建设中心网站
  • 成都网站品牌设计策划做网站的会淘宝美工么
  • 禅城网站设计企业信用管理系统
  • 邯郸网站制作哪家好外汇做单在什么网站
  • 网站推广团队服务器上搭建网站
  • 天津网站seo设计1688购物平台
  • 做一个高端网站施工单位招聘信息
  • 宜昌哪有有做网站的做商城网站需要备案吗
  • 建设机械网站精英做微商进哪个网站安全吗
  • 山东省建设备案网站审批表建设岗位考试网站
  • 网页设计与网站建设课程设计建设的招标网站
  • 贵港网站建设动态公共资源交易中心有实权吗
  • 网站服务器不稳定怎么打开网页网站设计特别好的公司