0 引言 1 抽象问题具体化 举例:输入数组{3,32,321},打印出这三个数字能排成的最小数字. 1. 3与32相比,32排在3的前边,得到序列32,3; 2. 321与3相比,321排在3的前边;321与32相比,321排在32的前边,得到序列321,32,3; 3. 打印序列321323. ...
分类:
编程语言 时间:
2018-12-12 23:49:54
阅读次数:
271
本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3, 32, 321},则打印出这3个数字能排成的最小数字321323。 思路 不好的方 ...
分类:
编程语言 时间:
2018-11-12 23:59:33
阅读次数:
389
题目描述:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 重点是重写Comparator函数 代码: ...
分类:
编程语言 时间:
2018-08-26 01:11:38
阅读次数:
183
题目:把数组排成最小的数 题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 思路分析:总的来讲,这是一道排序的题,从最开始的两个结合后开始比较,然后调整顺序,一 ...
分类:
编程语言 时间:
2018-08-07 01:36:32
阅读次数:
147
题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这3个数字能排成的最小数字321323。 思路: 本体有两个难点:第一个难点是想出一种新的比较规则来排序一个数组;第二个难点在于证明这个比较规则是有效的,并且证 ...
分类:
编程语言 时间:
2018-07-02 10:51:48
阅读次数:
137
//输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。//例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。import java.util.ArrayList;import java.util.Comparator;imp ...
分类:
编程语言 时间:
2018-06-29 00:05:11
阅读次数:
213
剑指Offer:把数组排成最小的数【45】 题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如,输入数组是{3.32.321},则打印出来的这3个数字能拼接成的最小数字是321323. 方法论 简要思路 最暴力的方法是把这个数组中的所有数字的全 ...
分类:
编程语言 时间:
2018-05-18 22:13:57
阅读次数:
163
题目 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 我的想法 这道题比较容易想到的都是排序,排序后只要将数字拼接成一个字符串就可以了。下面是两个版本的代码,一个是自己实 ...
分类:
编程语言 时间:
2018-05-12 13:47:05
阅读次数:
194
题目描述:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 思路:若数组中的数位数都相同,则只需要按照数字从小到大拼接即可,因此将位数不足的数字进行处理,以最后一位作为填补 ...
分类:
编程语言 时间:
2018-04-12 18:37:14
阅读次数:
170
32.把数组排成最小的数 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 解题思路: 1. 实际是将数组元素进行排序的操作 2. 排序规则为,若MN组成的数字大于NM,则 ...
分类:
其他好文 时间:
2018-02-12 00:21:16
阅读次数:
169