class Solution { public: int maxProfit(const vector& prices) { int best = 0; for (ushort i = 0; i < prices.size(); ++i) { for(ushort j = i + 1; j < prices.size(); ++j){ if(prices[j] - prices[i] > best) { best = prices[j] - prices[i]; } } } return best; } }; a #python nie:
class Solution: def maxProfit(self, prices: List[int]) -> int: best = 0 for i, _ in enumerate(prices[:-1]): for j, _ in enumerate(prices[i:]): p = prices[j+i] - prices[i] if p > best: best = p return best i tak sie zastanawiam, czym sie semantycznie roznia od siebie?
@bohater: nie mam 3 petli, bo jak do max przekazesz generator expression, to on nie materializuje listy, zeby po niej iterowac. Przed pustym inputem latwo sie zabezpieczyc dodajac default=0 do max.
Ale mniejsza o to - zarowno twoj kod jak i moj (z tymi poprawkami) wyklada sie na jednym tescie - duzej liscie posortowanej malejaco. Jest timeout. Kod dziala, tylko jest wolny, wiec trzeba wymyslic jakies optymalizacje ¯\_(ツ)_/¯ To
kiedyś oglądałam gallileo i tam było powiedziane że antyperspirant działa najlepiej kiedy jest nałożony pod pachy chwilę po prysznicu także jeżeli nie chcecie śmierdzieć tego lata jak cebula i stare skarpety to spróbujcie tego protipa od gallileo i cioci fsfdjf
I #cpp mi przechodzi:
class Solution {public:
int maxProfit(const vector& prices) {
int best = 0;
for (ushort i = 0; i < prices.size(); ++i) {
for(ushort j = i + 1; j < prices.size(); ++j){
if(prices[j] - prices[i] > best) {
best = prices[j] - prices[i];
}
}
}
return best;
}
};
a #python nie:
class Solution:def maxProfit(self, prices: List[int]) -> int:
best = 0
for i, _ in enumerate(prices[:-1]):
for j, _ in enumerate(prices[i:]):
p = prices[j+i] - prices[i]
if p > best:
best = p
return best
i tak sie zastanawiam, czym sie semantycznie roznia od siebie?
Co prawda ja bym to zapisał jakoś tak, ale to twoje też powinno działać.
tu mozesz sobie sprawdzic: https://leetcode.com/problems/best-time-to-buy-and-sell-stock/
maxprzekazesz generator expression, to on nie materializuje listy, zeby po niej iterowac. Przed pustym inputem latwo sie zabezpieczyc dodajacdefault=0domax.Ale mniejsza o to - zarowno twoj kod jak i moj (z tymi poprawkami) wyklada sie na jednym tescie - duzej liscie posortowanej malejaco. Jest timeout. Kod dziala, tylko jest wolny, wiec trzeba wymyslic jakies optymalizacje ¯\_(ツ)_/¯ To