给定n个数,输出组合数字中的最大值或最小值
算法题:给定n个数,输出组合数字中的最大值或最小值
例如:给定34,567,9,88四个数。这四个数字组合而成的所有数字中,最大数字为98856734,最小数字为34567889。
以求最大值为例。组合的数字中位数是相同的,如果需要求得最大值,高位的数字越大越好,所以需要在给定的数字中,选择最高位最大的数字放到最前面。这样得出的数值最高位比其他组合要大。所以比较的标准就是最高位的大小,如果最高位相同就比较次高位。
如果出现12,123,很明显12312>12123。如果两数比较时,高位的数字是一样的,直接比较两个数字组合而后的两个数字,直接比较12312、12123。
所以,两数比较的标准就变为比较两个数组合后的数字。a、b两个数,若ab>ba,则需要将a排在前面,若ab<ba,则将b排在前面。所以这个题目需要使用排序算法。
以冒泡排序为例
34,567,9,88–>567,9,88,34–>9,88,567,34–>9,88,567,34
组合数字中的最大值为9,88,567,34