日常刷题刷到一个要用到栈的问题,go没有内置stack就用切片实现了,然而效率低的过分,不知道是不是我不会用导致的,发给大家看看。
这是golang用时和代码:
![image.png](https://static.studygolang.com/180429/2eb27ace8260cab2f024385da75d63e9.png)
这是C艹用时:
![image.png](https://static.studygolang.com/180429/bb76f0eab74c890b09bb65433d04c679.png)
C艹代码:
<pre><code>
class Solution {
public:
vector<int> dailyTemperatures(vector<int>& temperatures) {
int size=temperatures.size();
vector<int> res(size);
stack<int> s;
s.push(size-1);
for(int i=size-2;i>=0;i--){
while(!s.empty() && temperatures[s.top()]<=temperatures[i])
s.pop();
if(!s.empty())
res[i]=s.top()-i;
s.push(i);
}
return res;
}
};
</code></pre>
有疑问加站长微信联系(非本文作者)