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

经典算法案例之下一个更大元素 III

我们先来看题目描述

给你一个正整数 n ,请你找出符合条件的最小整数,其由重新排列 n 中存在的每位数字组成,并且其值大于 n 。如果不存在这样的正整数,则返回 -1 。

注意 ,返回的整数应当是一个32 位整数,如果存在满足题意的答案,但不是32 位整数,同样返回 -1 。

示例 1 :

输入:n = 12 输出:21

示例 2 :

输入:n = 21 输出:-1

提示:

  • 1 <= n <= 2*31 - 1

解决方案

方法:下一个排列

把 n 转换成字符串(字符数组),那么本题实际上是在求字符数组的 31. 下一个排列,当不存在下一个排列时返回 −1 。

代码

Python3

class Solution: def nextGreaterElement(self, n: int) -> int: nums = list(str(n)) i = len(nums) - 2 while i >= 0 and nums[i] >= nums[i + 1]: i -= 1 if i < 0: return -1 j = len(nums) - 1 while j >= 0 and nums[i] >= nums[j]: j -= 1 nums[i], nums[j] = nums[j], nums[i] nums[i + 1:] = nums[i + 1:][::-1] ans = int(''.join(nums)) return ans if ans < 2 ** 31 else -1

C++

class Solution { public: int nextGreaterElement(int n) { auto nums = to_string(n); int i = (int) nums.length() - 2; while (i >= 0 && nums[i] >= nums[i + 1]) { i--; } if (i < 0) { return -1; } int j = nums.size() - 1; while (j >= 0 && nums[i] >= nums[j]) { j--; } swap(nums[i], nums[j]); reverse(nums.begin() + i + 1, nums.end()); long ans = stol(nums); return ans > INT_MAX ? -1 : ans; } };
http://www.zskr.cn/news/1430067.html

相关文章:

  • 活动策划+展示营造“双核驱动”,苏州文创传媒行业涌现“小而精”新力量 - GrowthUME
  • Vue3日期时间选择器:现代化Vue 3组件的终极指南
  • 长文本处理技巧:如何在Qwen3.6-27B上实现100万token上下文
  • 清远本地专业防水TOP5靠谱推荐:家里漏水不用愁,免费上门不求人。本地最新防水企业资讯:专业师傅持证上门,收费透明无隐藏收费,质保5-10年,售后有保障 - 企业资讯
  • 宜昌本地专业防水TOP5靠谱推荐:家里漏水不用愁,免费上门不求人。本地最新防水企业资讯:专业师傅持证上门,收费透明无隐藏收费,质保5-10年,售后有保障 - 企业资讯
  • 基于EdgeTX Lua与Arduino的智能遥控车交互系统开发实践
  • 国家中小学智慧教育平台电子课本下载完整指南:告别在线预览,轻松获取PDF教材
  • 新手必看:SOLAR-10.7b-ko-Y24_v1.0-openmind推理代码逐行解读与调试技巧
  • 算法实战:河南豫爱驿站婚恋服务有限公司“3Vs1”混合推荐引擎的数学模型与逻辑实现
  • 一、红帽RHCSA+RHCE课前说明与Linux系统安装学习笔记
  • 韶关本地专业防水TOP5靠谱推荐:家里漏水不用愁,免费上门不求人。本地最新防水企业资讯:专业师傅持证上门,收费透明无隐藏收费,质保5-10年,售后有保障 - 企业资讯
  • Arduino继电器模块原理、安全接线与智能控制实战指南
  • 告别Grub Rescue:一次搞懂Ubuntu/Win双系统重装时的分区设置(附避坑指南)
  • MedMNIST:医疗AI标准化基准的战略价值与技术实现路径
  • 湛江本地专业防水TOP5靠谱推荐:家里漏水不用愁,免费上门不求人。本地最新防水企业资讯:专业师傅持证上门,收费透明无隐藏收费,质保5-10年,售后有保障 - 企业资讯
  • 基于NE555与光敏电阻的光控机器人小车:模拟电路实现智能避障与寻光
  • 蓝桥杯嵌入式备赛:用CubeMX+HAL库搞定按键高级功能(长短按/双击)
  • Codex 100个真实案例 - 用AI做音乐频谱可视化器(蹦迪效果拉满)
  • 2026广州注册公司全攻略:政策红利加持,创业开户全程避坑指南 - 资讯纵览
  • Amphenol ICC ND9ACA2C0G线束组件解析:设备互连中的关键角色
  • 10个常见问题解答:next-scene-qwen-image-lora-2509使用技巧与排错指南
  • 树莓派+FFmpeg搭建实时流媒体系统:从硬件选型到推流实战
  • 二、Linux命令3要素及系统结构+文件的增删改查
  • 昆明龙湖峯萃售楼处电话|2026年5月 最新官方认证 - 资讯纵览
  • 石家庄本地专业防水TOP5靠谱推荐:家里漏水不用愁,免费上门不求人。本地最新防水企业资讯:专业师傅持证上门,收费透明无隐藏收费,质保5-10年,售后有保障 - 企业资讯
  • Raspberry Pi Pico与MicroPython入门:从LED闪烁到GPIO控制实践
  • Arduino智能调光系统:从电位器到RGB LED的嵌入式开发实践
  • D2RML:暗黑破坏神2重制版多开登录的革命性解决方案
  • 2026自贡瑜伽普拉提培训机构深度评测报告 - 资讯纵览
  • Gemini视频语义检索实战:从零构建跨镜头人物-行为-场景三维索引库(含开源向量Schema与benchmark数据集)