zoukankan      html  css  js  c++  java
  • Java for LeetCode 155 Min Stack

    Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.

        push(x) -- Push element x onto stack.
        pop() -- Removes the element on top of the stack.
        top() -- Get the top element.
        getMin() -- Retrieve the minimum element in the stack.

    解题思路:

    本题是 《JAVA语言程序设计-基础篇》的原题,修改下即可,JAVA实现如下:

    public class MinStack {
    	private int[] elements;
    	private int size;
    	
    	public MinStack() {
    		elements = new int[16];
    	}
    
    	public void push(int x) {
    		if (size >= elements.length) {
    			int[] temp = new int[elements.length * 2];
    			System.arraycopy(elements, 0, temp, 0, elements.length);
    			elements = temp;
    		}
    		elements[size++] = x;
    	}
    
    	public void pop() {
    		size--;
    	}
    
    	public int top() {
    		return elements[size - 1];
    	}
    
    	public int getMin() {
    		int min=Integer.MAX_VALUE;
    		for(int i=0;i<size;i++)
    			if(min>elements[i])
    				min=elements[i];
    		return min;
    	}
    }
    
  • 相关阅读:
    Redux 学习总结
    ECMAScript 6 学习总结
    Bootstrap 前端UI框架
    React.js 学习总结
    html 之 <meta> 标签之http-equiv
    Leetcode Excel Sheet Column Number (C++) && Excel Sheet Column Title ( Python)
    490
    414
    494
    458
  • 原文地址:https://www.cnblogs.com/tonyluis/p/4555091.html
Copyright © 2011-2022 走看看