题目:2099.找出和最大的长度为 k 的子序列

​​题目来源:

        leetcode题目,网址:2099. 找到和最大的长度为 K 的子序列 - 力扣(LeetCode)

解题思路:

       首先新建一个 nums.length 维数据,每一维的长度为 2,然后将 nums 数组中元素放入第二列,其对应索引放入第一列。接着根据第二列对二维数组从小到大排序。然后去后 k 维,根据第一列排序,最后取第二列元素并返回即可。

解题代码:

class Solution {
    public int[] maxSubsequence(int[] nums, int k) {
        int[][] newNum=new int[nums.length][2];
        for(int i=0;i(){
            public int compare(int[] a,int[] b){
                return a[1]-b[1];
            }
        });
        int[][] temp=new int[k][2];
        for(int i=0;i(){
            public int compare(int[] a,int[] b){
                return a[0]-b[0];
            }
        });
        
        int[] res=new int[k];
        for(int i=0;i
 
  

总结:

        官方题解也是一样的思路。Arrays.sort(arr,start,end,new Comaprator<>(){}),对数组 arr [start,end)内的元素按比较器规则排序。


你可能感兴趣的:(#,java,leetcode,java)