【算法】根据输入的正整数,重新排列生成一个更大的数字

算法,根据,输入,正整数,重新排列,生成,一个,数字 · 浏览次数 : 13

小编点评

```python def next_greater(n): """ 取一个正整数,并返回下一个较大的数字,该数字可以通过重新排列其数字来形成。 参数: n (int): 要计算的数字。 返回: int: 下一个较大的数字。 """ # 将数字转化为字符串。 n_str = str(n) # 将字符串中的数字从右到左依次从数字中删除,直到删除所有数字。 while n_str[-1:] == "0": n_str = n_str[:-1] # 将数字从字符串中删除所有数字。 n = int("".join(n_str.split()[1:])) # 如果数字不能重新排列以形成更大的数字,则返回 -1。 if n <= 1: return -1 # 返回下一个较大的数字。 return n + 1 if __name__ == "__main__": print(next_greater(12)) # 21513 print(next_greater(21513)) # 5312017 print(next_greater(5312017)) # 2071 print(next_greater(-1)) # -1 print(next_greater(-1111)) # -1531 print(next_greater(-1)) # -1 ```

正文

需求:创建一个函数,该函数取一个正整数,并返回下一个较大的数字,该数字可以通过重新排列其数字来形成。例如:

12===>21

513==>531

2017===>2071

如果数字不能重新排列以形成更大的数字,则返回-1:

9===>-1

111=>-1

531=>-1

与【算法】根据输入的正整数,重新排列生成一个更大的数字相似的内容:

【算法】根据输入的正整数,重新排列生成一个更大的数字

需求:创建一个函数,该函数取一个正整数,并返回下一个较大的数字,该数字可以通过重新排列其数字来形成。例如: 12 >21 513==>531 2017 >2071 如果数字不能重新排列以形成更大的数字,则返回-1: 9 >-1 111=>-1 531=>-1

【算法】根据输入的整数数组,以范围格式返回格式正确的字符串。

输入是一种整数有序数组的格式,使用逗号分隔 单个整数或由起始整数表示的整数范围,起始整数与结束整数之间用短划线“-”分隔。范围包括数值区间中的所有整数,包括两个端点。除非它至少跨越3个数字,否则它不被视为一个范围。例如“12,13,15-17”表示数值范围。 完成解决方案,使输入数组按递增顺序获取整

【算法】根据整数数组,生成正的素因子二维数组,并排序

给定一个正整数或负整数的数组,I=[i1,..,in] 生成一个形式为的排序数组P [[p,I数组的所有ij的和,其中p是ij的素因子(p为正)]…] P将按素数的递增顺序进行排序。 示例: I={12,15};//结果=“(2 12)(3 27)(5 15)” [2,3,5]是I的元素的所有素因子

【算法】根据二叉树的级别返回排序后的元素列表

根据给定的Node树节点,返回包含按级别排序的树中元素的列表,这意味着根元素位于第一位,然后根子元素(从左到右)位于第二位和第三位,依此类推。 1 public class Node 2 { 3 public Node Left; 4 public Node Right; 5 public int

【算法】数学之旅,根据素数特征寻找底数

当下午六点的钟声敲响,小悦如常地结束了一天的工作。她坐在工位上,脑海中不禁回想起自己学习数学的过程。那些数字、公式以及那些漫长夜晚的努力,都像是一段迷人的旋律,让她无法忘怀。当她沉浸在回忆中时,那迷人的微笑映入了旁人的眼帘,而这一幕恰好被一位同事捕捉到。 “你在笑什么呢?”同事好奇地问道。 “哦,没

[转帖]nginx的ip_hash算法

概念 根据用户请求的ip,利用算法映射成hash值,分配到特定的tomcat服务器中。主要是为了实现负载均衡,只要用户ip固定,则hash值固定,特定用户只能访问特定服务器,解决了session的问题。 源码分析 ip_hash算法的处理代码位于src\http\modules\ngx_http_u

DDP:微软提出动态detection head选择,适配计算资源有限场景 | CVPR 2022

DPP能够对目标检测proposal进行非统一处理,根据proposal选择不同复杂度的算子,加速整体推理过程。从实验结果来看,效果非常不错 来源:晓飞的算法工程笔记 公众号 论文: Should All Proposals be Treated Equally in Object Detectio

弹性伸缩:高可用架构利器(架构+算法+思维)

1 介绍 云计算资源弹性伸缩是一种根据业务需求动态调整计算资源规模的技术。它可以根据系统的性能指标(如CPU使用率、内存占用率、磁盘IO、网卡读写率、请求响应时间等)或者预定义的规则(如时间周期、业务事件等),自动增加或减少计算资源的数量,以满足业务负载的变化。这种技术可以确保系统在高峰时期拥有足够

物以类聚人以群分,通过GensimLda文本聚类构建人工智能个性化推荐系统(Python3.10)

众所周知,个性化推荐系统能够根据用户的兴趣、偏好等信息向用户推荐相关内容,使得用户更感兴趣,从而提升用户体验,提高用户粘度,之前我们曾经使用协同过滤算法构建过个性化推荐系统,但基于显式反馈的算法就会有一定的局限性,本次我们使用无监督的Lda文本聚类方式来构建文本的个性化推荐系统。 推荐算法:协同过滤

OCR -- 文本检测 - 训练DB文字检测模型

PaddleOCR提供DB文本检测算法,支持MobileNetV3、ResNet50_vd两种骨干网络,可以根据需要选择相应的配置文件,启动训练。 本节以icdar15数据集、MobileNetV3作为骨干网络的DB检测模型(即超轻量模型使用的配置)为例,介绍如何完成PaddleOCR中文字检测模型的训练、评估与测试。