力扣题库刷题笔记31--下一个排列

这篇具有很好参考价值的文章主要介绍了力扣题库刷题笔记31--下一个排列。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、题目如下:

力扣题库刷题笔记31--下一个排列,力扣,leetcode,笔记,算法

力扣题库刷题笔记31--下一个排列,力扣,leetcode,笔记,算法

2、个人Python代码实现如下:

力扣题库刷题笔记31--下一个排列,力扣,leetcode,笔记,算法         前几次提交错误,主要是在上面截图第19行代码,原先写的是Nums = nums[:i] + temp,然后本地一直能跑过,这里不做多赘述

3、个人Python代码思路:

        首先来讲本题的思路应该和之前下一个更大元素思路是一样的,代码主要5个步骤:

        a、当列表nums至多一个元素时,返回它本身;当列表nums存在2个以及上元素时,进入循环

        b、第一次循环,是从右到左进行遍历,找到第一个降序排列的的元素,也就是当出现nums[i-1] > nums[i]的时候,nums[i-1]就是我们要找的值

        c、第二次循环,依旧从右往左进行遍历,找到第一个大于nums[i-1]的nums[j]。换句说法,nums[j]就是nums[i:]中最小的大于nums[i-1]的值

        d、交换nums[i-1]和nums[j]

        e、升序排列nums[i:]

         从excel表格来举例子看一下:

力扣题库刷题笔记31--下一个排列,力扣,leetcode,笔记,算法

力扣题库刷题笔记31--下一个排列,力扣,leetcode,笔记,算法

         本地调试代码,见附件文章来源地址https://www.toymoban.com/news/detail-542331.html

到了这里,关于力扣题库刷题笔记31--下一个排列的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 力扣题库刷题笔记7--N字型变换

    1、题目如下: 2、个人Python代码实现:         看到此题的第一反应就是,生成一个类似二维数组的多个字符串,然后用个标志位控制N字符中字符的方向,例如flag = True,在每次循环时候以flag = flag * -1来控制。         由于示例中字符串s可能看的不是很确切,所以为了

    2024年02月09日
    浏览(33)
  • 力扣题库刷题笔记36--有效的数独

    1、题目如下:  2、个人Python代码实现如下: 3、个人Python代码思路:         先放一个AI解释的思路:         个人理解,本题思路其实很简单,判断每一行、每一列、每一个3*3的子数独是否存在重复数字,如果存在则返回False,如果不存在则返回True。         1、首先

    2024年02月13日
    浏览(47)
  • 力扣题库刷题笔记5--最长回文子串

    1、题目如下: 2、个人Python代码实现:         首先想到的是通过类似冒泡排序的方式进行切片,然后判断切片的子字符串是否为回文字符串,然后记录出最长的回文字符串,代码如下:         可以看到,通过切片的方式,在字符串长度只有1的时候,会报错。当然,这里

    2024年02月09日
    浏览(57)
  • LeetCode 31题:下一个排列

    目录 题目 思路 代码 整数数组的一个  排列   就是将其所有成员以序列或线性顺序排列。 例如, arr = [1,2,3]  ,以下这些都可以视作  arr  的排列: [1,2,3] 、 [1,3,2] 、 [3,1,2] 、 [2,3,1]  。 整数数组的  下一个排列  是指其整数的下一个字典序更大的排列。更正式地,如果数

    2024年02月13日
    浏览(113)
  • Golang | Leetcode Golang题解之第31题下一个排列

    题目: 题解:

    2024年04月17日
    浏览(43)
  • Leetcode刷题笔记--Hot31-40

    目录 1--颜色分类(75) 2--最小覆盖子串(76) 3--子集(78) 4--单词搜索(79) 5--柱状图中最大的矩形(84) 6--最大矩形(85) 7--二叉树的中序遍历(94) 8--不同的二叉搜索数(96) 9--验证二叉搜索树(96) 10--对称二叉树(101) 主要思路:         快排 主要思路:  主要

    2024年02月10日
    浏览(33)
  • 31. 下一个排列

    整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如, arr = [1,2,3] ,以下这些都可以视作 arr 的排列: [1,2,3] 、 [1,3,2] 、 [3,1,2] 、 [2,3,1] 。 整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小

    2024年02月15日
    浏览(50)
  • LeetCode刷题——46.全排列

    给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 【递归实现】

    2024年02月12日
    浏览(33)
  • LeetCode(力扣)46. 全排列Python

    https://leetcode.cn/problems/permutations/

    2024年02月09日
    浏览(33)
  • java数据结构与算法刷题-----LeetCode667. 优美的排列 II

    java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完): https://blog.csdn.net/grd_java/article/details/123063846 解题思路 题目要求我们返回一个数组长度为n的数组,必须含有1~n的所有数,并且从左到右,相邻的元素依次相减,它们的差,必

    2024年01月25日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包