Re: [閒聊] 每日LeetCode

作者: Rushia (みけねこ的鼻屎)   2022-11-09 10:55:41
901. Online Stock Span
其實我看不太懂題目在工殺小(也不想知道),總之我們要設計一個類別,每次可以對該
類別offer一個整數,你要返回該整數插入位置往前算共有幾個小於等於他的連續數字(
包括他自己)。
Example:
Input
["StockSpanner", "next", "next", "next", "next", "next", "next", "next"]
[[], [100], [80], [60], [70], [60], [75], [85]]
Output
[null, 1, 1, 1, 2, 1, 4, 6]
Explanation
StockSpanner stockSpanner = new StockSpanner();
stockSpanner.next(100); // return 1
stockSpanner.next(80); // return 1
stockSpanner.next(60); // return 1
stockSpanner.next(70); // return 2 [100 80 60 70]
stockSpanner.next(60); // return 1
stockSpanner.next(75); // return 4 [100 80 60 70 60 75]
stockSpanner.next(85); // return 6
思路:
1.因為要從當前位置往前檢查,要記錄之前的結果,所以直覺的想到用 stack 做。
2.總之就把當前的數字與頂端比較,如果小於頂端就返回1,否則不斷的從頂端取出
元素直到不能再取,過程不斷的+1
Java Code:
作者: PyTorch (屁眼火炬)   2022-11-09 10:58:00
大師
作者: pandix (麵包屌)   2022-11-09 11:03:00
大師
作者: storewater (差異侵蝕)   2022-11-09 11:04:00
不用stack吧,你直接比前一個輸入不就好了大於前一個輸入就輸出++count小於就輸出1,count=1還是你是要輸出一個矩陣++count啦,我太久沒寫Java,寫成C的寫法= =喔,我眼殘,抱歉= =

Links booklink

Contact Us: admin [ a t ] ucptt.com