1. 程式人生 > 實用技巧 >力扣-406-根據身高重建隊伍

力扣-406-根據身高重建隊伍

class Solution {
    public int[][] reconstructQueue(int[][] people) {
        int len = people.length;
		List<int[]> ans = new ArrayList<int[]>();
		
		Arrays.sort(people, new Comparator<int[]>(){
			@Override
			public int compare(int[] o1, int[] o2) {
				//o1 - o2 是從小到大排序;o2 - o1是從大到小排序(預設是)
				return o1[0] == o2[0]? o1[1] - o2[1]: o2[0] - o1[0];
			}
		});
		
		for(int[] p: people) {
			ans.add(p[1], p);
		}
		return ans.toArray(new int[len][2]);
    }
}

這裡用到了List.add操作,add(E e)用於在列表的尾部插入指定元素。如果 List 集合物件由於呼叫 add 方法而發生更改,則返回 true;否則返回 false。

void add(int index,E element)用於在列表的指定位置插入指定元素,並將當前處於該位置的元素及其後續元素的索引加 1。

引數說明:

  • index:用於指定在其中插入指定元素處的索引。
  • element:用於指定要插入的元素。