java solution with full explanation
\'\'\'\nclass Solution {\n    public List intersection(int[][] nums) {\n        List arr1=new ArrayList<>();\n            int maxi=0;\n         // find the max 
\'\'\'\nclass Solution {\n    public List<Integer> intersection(int[][] nums) {\n        List<Integer> arr1=new ArrayList<>();\n            int maxi=0;\n         // find the max of the oth index array   \n       for(int i=0;i<nums[0].length;i++) maxi=Math.max(maxi,nums[0][i]);\n        \n        //create array with max+1 size\n        int arr[]=new int[maxi+1];\n        \n        //increment elements count in array\n        for(int i=0;i<nums.length;i++)\n            for(int j=0;j<nums[i].length;j++)\n                if(nums[i][j]<=maxi) arr[nums[i][j]]++;\n    \n        // if element count is equal to number of rows that means that particular elements occured in every row ,\n      //  so put that element in our result list\n        for(int i=0;i<=maxi;i++)\n            if(arr[i]==nums.length) arr1.add(i);\n        \n        return arr1;\n        \n    }\n}\n\'\'\'
['Array']