拼多多笔试第三题

哪位看看俺这代码哪里有问题?

package com.rockTechnology;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;

public class Test4 {
    private static int minHot(int[] hot, int[] taste, int t){
        if (t == 0){
            return 0;
        }

        ArrayList<Integer> hotList = backTrack(hot, taste, t, 0, 0, 0, new ArrayList<Integer>(), 2);
        if (hotList.size() == 0){
            return -1;
        }
        Collections.sort(hotList, new Comparator<Integer>() {
            public int compare(Integer o1, Integer o2) {
                return o1 - o2;
            }
        });
        return hotList.get(0);
    }

    private static ArrayList<Integer> backTrack(int[] hot, int[] taste, int t, int index, int tasteSum, int hotSum, ArrayList<Integer> hotList, int times) {
        if (tasteSum >= t){
            hotList.add(hotSum);
            return hotList;
        }
        if (index >= hot.length){
            return hotList;
        }
        if (times > 0){
            backTrack(hot, taste, t, index + 1, tasteSum + taste[index], hotSum + hot[index], hotList, times - 1);
        }
        backTrack(hot, taste, t, index + 1, tasteSum, hotSum, hotList, times);
        return hotList;
    }


    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt() + in.nextInt();
        int[] hot = new int[n];
        int[] taste = new int[n];
        int t = in.nextInt();
        for (int i = 0; i < n; i++) {
            hot[i] = in.nextInt();
            taste[i] = in.nextInt();
        }
        System.out.println(minHot(hot, taste, t));
    }
}



#笔试题目#
全部评论
超时了吧你这
点赞 回复 分享
发布于 2020-08-02 21:09

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务