Resumen de preguntas sobre algoritmos para ordenar

1 primero es ordenar la matriz

Para matrices de tipo constante, ordene en orden ascendente

Arrays.sort(arr);

Para matrices de tipo char, asegúrese de que el caso sea coherente

Arrays.sort(caracteres);

Para matrices personalizadas

class Solution {
    
    
    public int[][] merge(int[][] intervals) {
    
    

        //也就是说,如果一个数组的最大值小于另一个数组的最小值,就是需要重叠,去重
        //首先,先将数组中一第一个数进行排序
        Arrays.sort(intervals,new Comparator<int[]>(){
    
    
            public int compare(int[] o1,int[] o2){
    
    
                //只比较第一个元素,按照第一个元素进行从小到大排序
                return o1[0]-o2[0];
            }
        });

        //排好序之后,需要进行比较数组的左边端点和右边端点,如果新数组的左边端点小于右边端点,说名有重叠了
        List<int[]> output=new ArrayList<>();
        for(int i=0;i<intervals.length;i++){
    
    
            int[] cur=intervals[i];
            if(output.size()==0){
    
    
                output.add(cur);
            }else{
    
    
                //如果结果集中最后一个结果的右边小于新的数组的左边,则可以直接放在结果里面
                int[] last=output.get(output.size()-1);
                if(last[1]<cur[0]){
    
    
                    output.add(cur);
                    //如果最后一个结果的右边,大于新数组的左边,那么只能合并,更新数组中最后一个的右边为最大的右边
                }else if(last[1]>=cur[0]){
    
    
                    last[1]=Math.max(last[1],cur[1]);
                }
            }
        }
        //此时将结果取出变成一个二维数组返回
        return output.toArray(new int[output.size()][]);
    }
}

2 Para ordenar la lista enlazada

Clase de colección de colecciones.

La lista es una constante y una cadena.

Colecciones.sort(lista);

La lista es una clase personalizada.

 public static void main(String[] args) {
    
    
        List<Person> people = Arrays.asList(
                new Person("Joe", 24),
                new Person("Pete", 18),
                new Person("Chris", 21)
        );

        Collections.sort(people, new Comparator<Person>() {
    
    
            @Override
            public int compare(Person a, Person b) {
    
    
                // TODO Auto-generated method stub
                return a.age < b.age ? -1 : a.age == b.age ? 0 : 1;
            }
        });
        System.out.println(people);
        //[{name=Pete, age=18}, {name=Chris, age=21}, {name=Joe, age=24}]
    }

Supongo que te gusta

Origin blog.csdn.net/m0_56184347/article/details/123894719
Recomendado
Clasificación