go的切片实现stack问题

Thomas_Z · · 670 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。
日常刷题刷到一个要用到栈的问题,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>

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077

670 次点击  
加入收藏 微博
5 回复  |  直到 2018-04-30 22:08:43
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传