Java小白关于ArrayList的一点疑惑
  • 板块学术版
  • 楼主qpdk777
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/7/4 23:18
  • 上次更新2023/10/27 21:51:55
查看原帖
Java小白关于ArrayList的一点疑惑
261932
qpdk777楼主2022/7/4 23:18

题目来自LeetCode 1200

以下代码已AC,但我不知道第9行的 List<List<Integer>> 类型的变量 ans 为什么能被赋值为 new ArrayList<>()

我觉得,右边new出来的ArrayList根本没有规定是哪个泛型,而且也不是二维的,怎么就赋值给 ans 了呢?

package LC1200;

import java.util.*;

class Solution {

    public List<List<Integer>> minimumAbsDifference(int[] arr) {

        List<List<Integer>> ans = new ArrayList<>();
        Arrays.sort(arr);
        int minAbs = 1 << 30;
        for (int i = 1; i < arr.length; i++) {
            int tmp = Math.abs(arr[i] - arr[i - 1]);
            if (tmp < minAbs) {
                minAbs = tmp;
            }
        }

        for (int i = 1; i < arr.length; i++) {
            int tmp = Math.abs(arr[i] - arr[i - 1]);
            if (tmp == minAbs){
                ArrayList<Integer> twin = new ArrayList<>();
                twin.add(arr[i-1]);
                twin.add(arr[i]);
                ans.add(twin);
            }
        }

        return ans;
    }
}

2022/7/4 23:18
加载中...