题目:
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接处的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这3个数字能排成的最小数字321323
解法:
找到一个排序规则,数组根据这个规则排序之后能排成一个最小的数字。要确定排序规则,就要比较两个数字,也就是给出两个数字m和n,我们需要确定一个规则判断m和n哪个应该排在前面,而不是仅仅比较这两个数字的值哪个更大。
两个数字m和n能拼接成mn和nm,比较mn和nm的大小。(字符串比较)
题目:
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接处的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这3个数字能排成的最小数字321323
解法:
找到一个排序规则,数组根据这个规则排序之后能排成一个最小的数字。要确定排序规则,就要比较两个数字,也就是给出两个数字m和n,我们需要确定一个规则判断m和n哪个应该排在前面,而不是仅仅比较这两个数字的值哪个更大。
两个数字m和n能拼接成mn和nm,比较mn和nm的大小。(字符串比较)
本文标题:剑指offer 面试题33:把数组排成最小的数
本文链接:https://www.haomeiwen.com/subject/euitjttx.html
网友评论