java集合 stack_Java集合之Stack
Stack
定义
C++:stack
Java:Stack(线程安全)
创建与其基本操作
创建:
Stack stack=new Stack
数组:
Stack stack[]=new Stack[N]
基本操作:
1boolean empty() 测试堆栈是否为空。
2Object peek( ) 查看堆栈顶部的对象,但不移除。
3Object pop( ) 移除堆栈顶部的对象,并返回该对象。
4Object push(Object element)
5int search(Object element) 返回对象在堆栈中的位置,以 1 为基数。
import java.util.*;
import java.io.*;
public class Main {
static final int N=(int)1e5+5;
public static void main(String args[]){
Stack stack=new Stack();
int a[]= new int[N];
int b[]= new int[N];
Scanner sc=new Scanner(new InputStreamReader(System.in));
while(sc.hasNext()) {
while(!stack.empty()) stack.pop();
int n=sc.nextInt();
if(n==0) break;
for(int i=0;i
for(int i=0;i
while(!stack.empty()&&a[stack.peek()]>=a[i]) {
stack.pop();
}
if(stack.empty()) b[i]=-1;
else b[i]=stack.peek();
stack.push(i);
}
while(!stack.empty()) stack.pop();
long ans=0;
for(int i=n-1;i>=0;i--) {
while(!stack.empty()&&a[stack.peek()]>=a[i]) {
stack.pop();
}
if(stack.empty()) {
ans=Math.max(ans, (long)a[i]*(n-b[i]-1));
}
else ans=Math.max(ans, (long)a[i]*(stack.peek()-b[i]-1));
stack.push(i);
}
PrintWriter out=new PrintWriter(new OutputStreamWriter(System.out));
out.println(ans);out.flush();
}
}
}
java集合 stack_Java集合之Stack相关推荐
- 【Java 集合】Java 集合的线程安全性 ( 加锁同步 | java.utils 集合 | 集合属性 | java.util.concurrent 集合 | CopyOnWrite 机制 )
文章目录 I . Java 集合的线程安全概念 ( 加锁同步 ) II . 线程不安全集合 ( 没有并发需求 推荐使用 ) III . 集合属性说明 IV . 早期的线程安全集合 ( 不推荐使用 ) ...
- Thinking in java基础之集合框架
Thinking in java基础之集合框架 大家都知道我的习惯,先上图说话. 集合简介(容器) 把具有相同性质的一类东西,汇聚成一个整体,就可以称为集合,例如这里有20个苹果,我们把每一个苹果当成 ...
- Java面试题集合(比较实用)
1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector.Stack.HashTable和Array.随着集合的广泛使用...... ...
- 万字长文深入理解java中的集合-附PDF下载
文章目录 1. 前言 2. List 2.1 fail-safe fail-fast知多少 2.1.1 Fail-fast Iterator 2.1.2 Fail-fast 的原理 2.1.3 Fai ...
- (转)java中对集合对象list的几种循环访问总结
Java集合的Stack.Queue.Map的遍历 在集合操作中,常常离不开对集合的遍历,对集合遍历一般来说一个foreach就搞定了,但是,对于Stack.Queue.Map类型的遍历,还是有一些讲 ...
- java队列_java集合入门和深入学习(详解),看这篇就差不多了
一.集合入门总结 集合框架: Java中的集合框架大类可分为Collection和Map:两者的区别: 1.Collection是单列集合:Map是双列集合 2.Collection中只有Set系列要 ...
- java数组、集合和数据结构知识*
为什么80%的码农都做不了架构师?>>> 一.数据结构知识.数据结构分为逻辑结构和物理结构,下面是百度百科的数据结构知识. 数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结 ...
- java把map值放入vector_Thinking in java基础之集合框架
Thinking in java基础之集合框架 大家都知道我的习惯,先上图说话. 集合简介(容器) 把具有相同性质的一类东西,汇聚成一个整体,就可以称为集合,例如这里有20个苹果,我们把每一个苹果当成 ...
- java中各种集合的用法和比较
一,java中各种集合的关系图 Collection 接口的接口 对象的集合 ├ List 子接口 按进入先后有序保存 可重复 │├ L ...
最新文章
- 6 Springboot 整合Redis
- 白雪 | NLP加持知识图谱在金融事件挖掘中的应用
- go基本数据类型与运算符
- qmail 反垃圾邮件
- [Ubuntu18.04]美化
- 用Lucene[1].net对数据库建立索引及搜索+
- 接地气的大数据来了:如何预报雾霾
- 0906--学成在线页面案例
- 多功能Win系统维护工具箱
- 屏幕录像专家使用手册
- Excel怎么把横向的数据变成纵向排列?
- http://www.cnblogs.com/longteng1991/archive/2013/06/13/3131739.html#
- 深度技术 Windows7 旗舰五周年纪念版
- 土方计算过程(方格网法)
- 7zip打不开wim文件
- Android-工作遭遇-URLConnection原生请求http和https忽略证书
- 实验吧 Guess Next Session
- 你若运行,便是晴天!
- Android音视频全面介绍与代码实践之音效(四)
- jquery slideToggle() 效果
热门文章
- 使用pickle保存机器学习模型详解及实战(pickle、joblib)
- 生存分析-从survdiff函数中提取P值
- 基于多源信息的深度卷积神经网络预测CircRNA疾病关联的有效方法
- 在神经网络中使用dropout
- python xgb模型 预测_Python 调用 PMML
- tf.keras.layers.Dropout 示例
- opencv函数总结
- linux攻击端口,Linux 常见攻击端口封杀表
- python unit test 访问开发代码,使用Python的unittest模块作为testrunner时,如何在测试前运行初始化代码?...
- 粒子群(pso)算法详解matlab代码,粒子群(pso)算法详解matlab代码