python怎么实现把数组排成最小的数

本篇内容主要讲解“python怎么实现把数组排成最小的数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么实现把数组排成最小的数”吧!

题目描述

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

思路

可以看成是一个排序问题,先将整型数组转换成String数组,在比较两个字符串 o1 和 o2 的大小时,应该比较的是 o1+o2 和 o2+o1 的大小,如果 o1+o2 < o2+o1,那么应该把 o1 排在前面,否则应该把 o2 排在前面。

代码实现

package Tree;
import java.util.ArrayList;
/** * 二叉树中和为某一值的路径 * 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。 * 路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 */public class Solution45 {    private ArrayList<ArrayList<Integer>> result = new ArrayList<>();    private ArrayList<Integer> list = new ArrayList<>();
   public ArrayList<ArrayList<Integer>> FindPath(TreeNode root, int target) {        if (root == null) {            return result;        }        list.add(root.val);        target -= root.val;        if (target == 0 && root.left == null && root.right == null) {            result.add(new ArrayList<Integer>(list));        }        FindPath(root.left, target);        FindPath(root.right, target);        list.remove(list.size() - 1);        return result;    }
   public class TreeNode {        int val = 0;        TreeNode left = null;        TreeNode right = null;
       public TreeNode(int val) {            this.val = val;
       }
   }}

到此,相信大家对“python怎么实现把数组排成最小的数”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!