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