用栈空间换取时间
2014-03-18 20:23
218 查看
#include<stdio.h>
int main(){ int stack[50],stack_min[50]; int top=-1; int x,min; scanf("%d",&x); stack[++top]=x; stack_min[++top]=x; min=x; scanf("%d",&x); while(x!=999){ min=stack_min[top]; stack[++top]=x;//入栈 stack_min[++top]=(x<min)?x:min;//同步入栈 scanf("%d",&x); } printf("最小值为:%d\n",stack_min[top]); stack[top--];//出栈 stack_min[top--];//同步出栈 printf("最小值为:%d\n",stack_min[top]); return 0; }//在O(1)的时间复杂度内实现PUSH POP MIN操作,min就是得到栈中最小的元素
//双栈同步进出,但是stack_min是专门进入最小值,典型的空间换时间
相关文章推荐
- 315.leetcode Count of Smaller Numbers After Self(hard)[利用二分查找 空间换取时间的思想]
- 面试题--位操作---延伸到一个用空间换取时间效率的例子
- SAP ABAP代码优化(5)之空间换取时间策略
- 【模版元编程(用编译时间换取运行时间)】
- 递归算法应用-牺牲空间换取时间
- 算法题目---求公司内员工的年龄排序---用空间换取时间O(n)
- 用时间换取天赋,用坚持换取机遇
- POJ 2259(用空间换取时间)
- Hadoop推测执行(以空间换取时间)
- HDU1397(以空间换取时间)
- 用忠诚、时间、奉献来换取一家公司的地位、头衔,以及待遇
- 数据结构C语言>数组>一维数组的遍历 空间换取时间
- 利用hash空间换取时间的思想统计同成绩学生人数C++--王道机试
- 一层for循环完成排序--空间换取时间
- 空间换取时间
- 【以空间换取时间】 Trie
- 易解排序算法 - 空间换取时间(java写:基数排序,计数排序,桶排序,排序全部源代码)
- 分批处理大数据 -- 时间换取空间策略
- java中的时间操作 三 定时任务(计划任务)
- 取得服务器当前的各种具体时间