1762. Buildings With an Ocean View
2022/2/8 6:12:39
本文主要是介绍1762. Buildings With an Ocean View,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
My first solution is use two skacks, one stack store index, another one store value, the time complexity is O(n).
public int[] findBuildings(int[] heights) { Stack<Integer> indexStk = new Stack<>(); Stack<Integer> valueStk = new Stack<>(); for(int i=heights.length-1;i>=0;i--){ if(valueStk.isEmpty() || heights[i]>valueStk.peek()){ indexStk.push(i); valueStk.push(heights[i]); } } int[] res = new int[indexStk.size()]; int i=0; while(!indexStk.isEmpty()){ res[i++]=indexStk.pop(); } return res; }
The second stack, valueStk, can be replaced with an Integer.
public int[] findBuildings(int[] heights) { int n = heights.length; Stack<Integer> indexStk = new Stack<>(); int valueStk = heights[n-1]; indexStk.push(n-1); for(int i=n-2;i>=0;i--){ if(heights[i]>valueStk){ indexStk.push(i); valueStk = heights[i]; } } int[] res = new int[indexStk.size()]; int i=0; while(!indexStk.isEmpty()){ res[i++]=indexStk.pop(); } return res; }
这篇关于1762. Buildings With an Ocean View的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-21拼接的xml报文,尖括号都被转移成了< 是什么原因-icode9专业技术文章分享
- 2024-09-21Svg Sprite Icon教程:从入门到实践
- 2024-09-21Svg Sprite Icon实战:从入门到上手
- 2024-09-20构建一个多PDF RAG聊天机器人:使用Langchain和Streamlit及代码
- 2024-09-20whatsapp webhook 回调的签名验证偶尔会失败是什么原因-icode9专业技术文章分享
- 2024-09-19Excel数据导出课程:初学者必备教程
- 2024-09-19Excel数据导入课程:新手入门指南
- 2024-09-19RBAC的权限管理入门教程
- 2024-09-19如何使用Svg Sprite Icon制作图标
- 2024-09-19uniapp 如何实现点赞后全局更新数据-icode9专业技术文章分享