`

0906--拼接出最小整数

阅读更多

题目描述:
设有n个正整数,将它们联接成一排,组成一个最小的多位整数。

程序输入:n个数
程序输出:联接成的多位数

例如:
n=2时,2个整数32,321连接成的最小整数为:32132,
n=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355

[题目要求]
1. 给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算法。
2. 给出算法的时间空间复杂度。
3. 证明你的算法。(非常重要)

 

算法思想:

1. 首先找出每个整数的唯一标识作为该整数的前缀,组成一个前缀和整数值相对应的哈希表

2. 对前缀进行排序(直接插入排序): 从最高位开始比,如果对应位相同则比较下一位,如果某个前缀已经比完最后一位了,那么用最后一位和另一的数的下一位(以及再下一位)比较,直到比出大小,看哪个大就排在后面。

3. 输出hash表中所有值,则找出了最小整数序列。

 

空间复杂度:O(n)
















































































 

 

分享到:
评论

相关推荐

    设有n个正整数,将他们连接成一排,组成一个最大的多位整数

    本题属于数组排序类问题,目的是寻找一种方法,能够将一系列正整数进行排列,使得它们按照特定顺序拼接后形成的数字最大。 **核心问题:** - 如何确定两个数字的先后顺序,使得拼接后的数字最大? - 对于多个数字,...

    输入两个正整数m和n求其最大公约数和最小公倍数 (2).pdf

    47. **百元买百鸡问题**:典型的整数线性规划问题,通过穷举所有可能的组合找出解。 48. **Fibonacci数列计算**:创建数组存储前20项,并一次性输出。 以上这些题目都是计算机科学基础课程常见的练习,它们旨在...

    【剑指Offer】32.把数组排成最小的数(Python实现)

    输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 解法一:cmp_to_key函数 from ...

    2014c语言必做题

    ### 2014C语言必做题知识点详解 #### 一、基础知识篇 ... - 描述:写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。 - 关键知识...

    js求数组中全部数字可拼接出的最大整数示例代码

    在这个例子中,我们不直接对数字进行比较,而是将数组元素视为字符串进行排序,因为我们要拼接的是最大整数,而非最小整数。 ```javascript function insertSort(arr) { let res = [arr[0]]; for (let i = 1, len...

    把数组排成最小的数1

    该问题的目标是给定一个非负整数数组,通过拼接数组中的数字来形成一个新的数,并确保这个数是最小的。下面我们将详细探讨这个问题的关键知识点。 首先,我们要明确如何判断两个数字拼接后形成的数较小。题目中提供...

    小学六年级最大公约数与最小公倍数复习题精选.doc

    最大公约数(Greatest Common Divisor, GCD)是指两个或多个非零整数共有约数中最大的一个,而最小公倍数(Least Common Multiple, LCM)则是指两个或多个非零整数中最小的一个,它能够同时被这些数整除。...

    人教版小学数学小升初复习重难突破卷(共6套).docx

    - 题目中的专项3、4、5、6涉及到了最大公因数和最小公倍数在实际问题中的应用,例如第7题中,要求颁奖的数量最大化,需要找出笔记本、钢笔和奖杯数量的最大公因数。 - 第11题和12题,涉及到的是求解满足一定条件的...

    msyyyy#learning-plan#把数组排成最小的数1

    题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的

    2011-北邮网研复试机试题目

    - 对于“弹出”操作,找出模值最大的复数并将其从集合中移除,然后输出该复数及更新后的集合大小。 ### 知识点三:中序遍历求字典序最小串 #### 问题描述与分析 本题要求对给定的一棵树进行中序遍历,并找到所有...

    华东师大版八年级上册初中数学全册单元测试卷(含期中期末试卷).doc

    - 最小正整数:寻找满足条件的最小正整数n。 - 等差数列的规律:通过观察和分析找出序列的通项公式。 3. 解答题: - 平方根和立方根的求解:解方程找到x的值。 - 绝对值的计算:处理带有绝对值的表达式。 - ...

    无限长整数的阶乘计算(10000!只需要0.187秒即可,数组型(窗口版)

    内部设计了一个Unlimit无限宽的整数,用多个uint拼接起来,直接采用二进制做乘法和加法运算,因此速度最快。输出显示则把而进制转换成十进制,内部设计了一个UnlimTen类,自动把Unlimit类型转换成,UnlimTen类,其中...

    ITK图像配准拼接介绍.docx

    ### ITK图像配准拼接知识点详解 #### 一、配准的概念 图像配准(Image Registration)是指确定一种空间变换的过程,这种变换能够将一张图像中的点映射到另一张图像对应对象上的同名点。简而言之,图像配准就是通过...

    非标制作通用工艺.doc

    - 卷筒板拼接最小长度依据直径大小设定,环缝宽度不小于1米。 - 下料前需排版,提高材料利用率,小于200mm的构件用余料。 - 建议使用半自动或自动切割设备,禁止手工切割法兰。 - 切割余料需做好标识,按厚度...

    剑指Offer(Python多种思路实现):把数组排成最小的数

    题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 解题思路一:暴力破解:先求所有...

    【苏教版】四年级下册数学《期末检测试卷》(带答案).pdf

    - 整数除法:例如770 ÷ 7=110,遵循整数除法的基本法则。 - 加减乘除混合运算:例如360-360 ÷ 6=360-60=300,先进行除法运算,再做减法。 - 乘法进位:如21× 50=1050,理解乘法进位规则。 - 竖式计算:36× ...

    青岛版五四制五年级上册期末试题2.doc

    - 正方体的拼接:选择题第1题要求找出最小的正方体拼接数量。 - 长方体表面积的计算:选择题第3题涉及不同形状组合后表面积的求解。 6. **比和比例**: - 比的计算:第7题要求找出与给定比例具有相同比值的选项...

    第六章-实数培优训练试卷(含答案).doc

    【大于x的最小整数定义】符号[x)表示大于x的最小整数,它不包括x本身。例如,[3)=4,表示大于3的最小整数是4。对于[x)-x,其最小值为0,但最大值不是0,因为无论x是什么实数,[x)总是至少比x大1。 【几何变换】在...

    求最小公倍数解决实际问题.docx

    公倍数指的是两个或多个整数所共同拥有的倍数,而最小公倍数是这个集合中最小的一个。例如,对于数字2和3来说,他们的公倍数可以列举为6、12、18、24等等,其中最小的一个便是6。掌握这一点是求解最小公倍数的基础。...

Global site tag (gtag.js) - Google Analytics