Loading...
tgenovska avatar tgenovska 1 Точки

[Java Advanced - Stacks and Queues] 14.The Stock Span Problem

Здравейте, колеги,

Може ли малко помощ със задачата 14.The Stock Span Problem от Stacks and Queues, Judge ми дава 60/100, като последните два теста гърмят за време. 

Ето кода - http://pastebin.com/1XTHzh5f

Благодаря ви предварително! :)

 

 

Тагове:
0
Java Advanced
Vladix avatar Vladix 75 Точки

Здравей,

Тъпчи си outpt-a в един StringBuilder и използвай  BufferedReader scanner = new BufferedReader(new InputStreamReader(System.in)); вместо Scanner

Поздрави

Едит: а и също така виж това

0
30/01/2017 13:56:34
vdjalov avatar vdjalov 13 Точки

Аз имам същия проблем. Пробвах и със StringBuilder за outputa и пак не става. Дали разрешихте проблема. Някой може л ида даде код ?
Благодаря.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayDeque;


public class StockSpanProblem {

        public static void main(String[] args) throws IOException {
            BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        
            int n = Integer.parseInt(bf.readLine());
            int array[] = new int [n];
            int count = 0;
        
            ArrayDeque <Integer> days = new ArrayDeque<Integer>();
        
                while( count < n){
                    int temp = Integer.parseInt(bf.readLine());
                        array[count] = temp;
                        count ++;
                }
        
                int sum = 1;
                int maxSum = 1;
            
                while(count > 0){
                    for(int i = count - 1; i > 0; i--){
                    
                        if(array[count - 1] >= array[i - 1]){
                            sum++;
                            if(maxSum <= sum ){
                                maxSum = sum;
                            }
                        }else {
                            break;
                        }
                    }

                        days.addFirst(maxSum);
                        sum = 1;
                        maxSum = 1;
                        count --;
                }
            
                for(Integer day : days){
                    System.out.println(day);
                }
    }

}
 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.