устранить ошибку тайм-аута в случае большого количества тестовых случаев при сортировке - PullRequest
1 голос
/ 26 мая 2019

При сортировке, а затем нахождении суммы, равной заданной константе, предоставленной во входных данных, для большого числа элементов массива происходит прекращение из-за истечения времени ожидания.

import java.io.*;

public class Solution {

    // Complete the maximumToys function below.
    static int maximumToys(int[] arr, int k) {
        int temp = 0;int sum =0;int counter =0;
        for(int j=0;j<arr.length;j++)
        {
            for(int i=0;i<arr.length-1-j;i++)
            {
                if(arr[i] > arr[i+1])
                {
                    temp = arr[i];
                    arr[i] = arr[i+1];
                    arr[i+1] = temp;
                }
            } 
        }    

        for(int i=0;i<arr.length;i++)
        {
           sum = sum + arr[i]; 
           if(sum >= k)
           break; 
           else
           counter++;
        }

    return counter;    
    }

    public static void main(String[] args) throws IOException {

    String line, strs[];
        int arr[];
        int len;
        int k;
        int toys;
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        line = br.readLine();
        strs = line.trim().split("\\s");
        len  = Integer.parseInt(strs[0]);
        k    = Integer.parseInt(strs[1]);

        arr = new int[len];

        line = br.readLine();
        strs = line.trim().split("\\s");

        for (int i = 0; i < len; i++) {
            arr[i] = Integer.parseInt(strs[i]);
        }

        toys = maximumToys(arr, k);
        System.out.println(toys);




          }
}

ожидаемый результат - мой вывод фактическийрезультат - прекращен из-за тайм-аута

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...