做影片的网站描述,上海猎头公司名单,无锡赛孚建设工程有限公司网站,网站建设协题目来源#xff1a; leetcode题目#xff0c;网址#xff1a;2099. 找到和最大的长度为 K 的子序列 - 力扣#xff08;LeetCode#xff09;
解题思路#xff1a; 首先新建一个 nums.length 维数据#xff0c;每一维的长度为 2#xff0c;然后将 nums 数组中元素放…题目来源 leetcode题目网址2099. 找到和最大的长度为 K 的子序列 - 力扣LeetCode
解题思路 首先新建一个 nums.length 维数据每一维的长度为 2然后将 nums 数组中元素放入第二列其对应索引放入第一列。接着根据第二列对二维数组从小到大排序。然后去后 k 维根据第一列排序最后取第二列元素并返回即可。
解题代码
class Solution {public int[] maxSubsequence(int[] nums, int k) {int[][] newNumnew int[nums.length][2];for(int i0;inums.length;i){newNum[i][1]nums[i];newNum[i][0]i;}Arrays.sort(newNum,new Comparator(){public int compare(int[] a,int[] b){return a[1]-b[1];}});int[][] tempnew int[k][2];for(int i0;ik;i){temp[i][0]newNum[nums.length-i-1][0];temp[i][1]newNum[nums.length-i-1][1];}Arrays.sort(temp,new Comparator(){public int compare(int[] a,int[] b){return a[0]-b[0];}});int[] resnew int[k];for(int i0;ik;i){res[i]temp[i][1];}return res;}
} 总结 官方题解也是一样的思路。Arrays.sort(arr,start,end,new Comaprator(){})对数组 arr [start,end)内的元素按比较器规则排序。