博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
南柯一梦
阅读量:5949 次
发布时间:2019-06-19

本文共 2159 字,大约阅读时间需要 7 分钟。

一、栈和队列

1.设计一个有getMin功能的栈

定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
import java.util.Stack;class Main {    Stack
dataStack = new Stack<>(); Stack
minStack = new Stack<>(); public static void main(String[] args) { Main stack = new Main(); stack.push(11); stack.push(2); stack.pop(); stack.push(70); stack.push(51); System.out.println(stack.getMin()); stack.push(4); stack.push(113); System.out.println(stack.getMin()); } public void push(int num) { if(minStack.isEmpty()) minStack.push(num); if(num > minStack.peek()) { minStack.push(minStack.peek()); } else { minStack.push(num); } dataStack.push(num); } public int pop() { if(dataStack.isEmpty()) { throw new RuntimeException("Your stack is empty."); } minStack.pop(); return dataStack.pop(); } public int getMin() { if(minStack.isEmpty()) { throw new RuntimeException("Your stack is empty."); } return minStack.peek(); }}

 

class Solution {    public int numIslands(char[][] grid) {                if(grid == null || grid.length <= 0 || grid[0].length <= 0){            return 0;        }        int ans = 0;        int n = grid.length;        int m = grid[0].length;        for(int i=0; i
=n || y>=m || mat[x][y] != '1') return; mat[x][y]='2'; dfs(mat,x+1,y,n,m); dfs(mat,x-1,y,n,m); dfs(mat,x,y+1,n,m); dfs(mat,x,y-1,n,m); }}
200. 岛屿的个数

 

class Solution {    public int maxAreaOfIsland(int[][] grid) {        if(grid==null || grid.length==0 || grid[0].length==0) return 0;        int n = grid.length;        int m =  grid[0].length;        int ans = 0;        for(int i=0; i
=n || y>=m || a[x][y] != 1) return 0; a[x][y] = 2; ans += dfs(a,x+1,y,n,m); ans += dfs(a,x-1,y,n,m); ans += dfs(a,x,y+1,n,m); ans += dfs(a,x,y-1,n,m); return ans; }}
695. 岛屿的最大面积

 

转载于:https://www.cnblogs.com/Roni-i/p/10582244.html

你可能感兴趣的文章
Linux及windows下常见压缩程序的压缩能力对比
查看>>
JAVAEE-junit测试hibernate里的方法(hibernate交给spring管理)的问题
查看>>
MOTO MB860 国行2.3.5优化增强ROM_Top_T5_end(经典收藏版)
查看>>
C#学习经典(二)---MVC框架(Model view Controller)
查看>>
我的友情链接
查看>>
log4j配置文件说明
查看>>
Maven: 为Compiler插件设置source和target版本
查看>>
L2TP/IPSec一键安装脚本
查看>>
linux下永久添加静态路由
查看>>
android 全局变量和局部变量命名规则
查看>>
Ubuntu Sub-process /usr/bin/dpkg
查看>>
详解DNS的常用记录(下):DNS系列之三
查看>>
“爆炸门”苹果补刀,三星该“哭晕了”!
查看>>
基于linux的3款压力测试工具:Siege,webbench,ab
查看>>
Netty Buffer
查看>>
icinga2使用check_snmp_idrac.py监控DELL硬件状态
查看>>
Java基础学习21(代码块)
查看>>
陈松松:无需懂任何视频制作技术,就能做出让客户感觉专业的视频
查看>>
转:用Windows Live Writer在51CTO写博客
查看>>
rsync+ssh的无验证登录
查看>>