微软100题40题-设计一个栈结构,满足一下条件:min,push,pop操作的时间复杂度为O(1)。
来源:互联网 发布:linux把用户从组中删除 编辑:程序博客网 时间:2024/06/06 09:34
/** * <p>File:Test_40.java</p> * <p>Title: </p> * <p>Description:</p> 40.百度研发笔试题(栈、算法)引用自:zp1553348771)设计一个栈结构,满足一下条件:min,push,pop操作的时间复杂度为O(1)。2)一串首尾相连的珠子(m个),有N种颜色(N<=10),设计一个算法,取出其中一段,要求包含所有N中颜色,并使长度最短。并分析时间复杂度与空间复杂度。3)设计一个系统处理词语搭配问题,比如说 中国 和人民可以搭配,则中国人民 人民中国都有效。要求: *系统每秒的查询数量可能上千次; *词语的数量级为10W; *每个词至多可以与1W个词搭配当用户输入中国人民的时候,要求返回与这个搭配词组相关的信息。 */public class Test_40_1{ public static class Stack{ private int [] popPushArray=new int[1024]; private int indexPopPush=-1; private int[] minArray=new int[1024]; private int indexMin=-1; public void push(int value){ indexPopPush++; popPushArray[indexPopPush]=value; if(indexMin==-1){ indexMin++; minArray[indexMin]=value; }else{ if(minArray[(indexMin)]>value){ indexMin++; minArray[indexMin]=value; } } } public Integer pop(){ if(indexPopPush==-1){ return null; } int value=popPushArray[indexPopPush]; indexPopPush--; if(value==minArray[indexMin]){ indexMin--; } return value; } public Integer min(){ if(indexMin<0){ return null; } int value=minArray[indexMin]; indexMin--; return value; } } public static void main(String[] args) { Stack s=new Stack(); s.push(1); s.push(-1); s.push(10); s.push(-2); s.pop(); s.push(-3); s.push(3); s.pop(); s.pop(); System.out.println(s.pop()); System.out.println(s.min()); }}
0 0
- 微软100题40题-设计一个栈结构,满足一下条件:min,push,pop操作的时间复杂度为O(1)。
- 设计一个栈结构,满足一下条件:min,push,pop操作的时间复杂度为O(1)
- 设计一个栈结构,满足一下条件:min,push,pop操作的时间复杂度为O(1)。
- 设计一个栈结构,满足一下条件:min,push,pop操作的时间复杂度为O(1)
- 满足min.push.pop操作时间复杂度为o(1)的栈
- 实现pop push min操作时间复杂度为O(1)的栈结构
- 实现一个栈,要求push,pop,Min的操作时间复杂度为O(1)
- 实现一个栈, 其 Push,Pop,Min 操作的 时间复杂度 均为 O( 1 )
- 设计栈结构构造min()函数,也就是求栈中元素的最小值,要求pop、push、min时间复杂度为O(1)
- 设计一个栈,除了pop push 还支持Min,时间复杂度都为o(1);
- 设计一个包含pop,push,min在内的栈,并且各个函数的时间复杂度均为o(1)
- 实现一个栈Stack,Push、Pop、Min(返回最小值的操作)的时间复杂度为O(1)
- 实现一个栈Stack,要求实现Push、Pop、Min(返回最小值的操作)的时间复杂度为O(1)
- 【Java】设计一个栈,并且push,pop和min三个方法的时间复杂度必须为O(1)
- 实现一个栈,要求Push/Pop/Min(返回最小值)的时间复杂度为O(1)
- 实现一个栈的pop,push,Min(最小值),时间复杂度为O(1)
- 实现一个栈,push、pop、求栈中最小值min的时间复杂度为O(1)
- 设计一个堆栈,函数min、push 以及pop 的时间复杂度都是O(1)
- c++小游戏代码
- 幽灵按钮
- 如何使用Unity制作虚拟导览(四)
- Vim打开python脚本中文乱码
- 如何使用Unity制作虚拟导览(五)
- 微软100题40题-设计一个栈结构,满足一下条件:min,push,pop操作的时间复杂度为O(1)。
- ZooKeeper 运维经验
- <三>重温Hibernate one to many 映射配置
- 【iOS界面开发】Objective-C自动布局(Auto Layout & SizeClass)
- java程序员入门必须克服的5个障碍
- 136Single Number
- PHP网站常见安全漏洞及防御方法【转】
- POJ 2262 Goldbach's Conjecture(数论)
- html 正则表达式