摘要: 题目 原题链接:https://leetcode-cn.com/problems/distribute-candies/ 给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。 示例: 输入 阅读全文
posted @ 2021-05-18 23:46 chenzufeng 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 题目 原题链接:https://leetcode-cn.com/problems/largest-rectangle-in-histogram/ 给定$n$个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为$1$。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例: 以上是柱 阅读全文
posted @ 2021-05-18 23:38 chenzufeng 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 题目 原题链接:https://leetcode-cn.com/problems/trapping-rain-water/ 给定$n$个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例: 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1 阅读全文
posted @ 2021-05-18 23:27 chenzufeng 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 题目 原题链接:https://leetcode-cn.com/problems/valid-parentheses/ 给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注 阅读全文
posted @ 2021-05-18 23:22 chenzufeng 阅读(74) 评论(0) 推荐(0) 编辑
摘要: volatile关键字作用域 volatile关键字只能修饰类变量和实例变量,对于方法参数、局部变量以及实例常量,类常量都不能进行修饰! volatile写/读的内存语义 public class ReorderExample { private int x = 0; private int y = 阅读全文
posted @ 2021-03-14 19:30 chenzufeng 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 多线程数据错误示例:叫号程序 /** * 实现Runnable接口 * @author Chenzf */ public class TicketWindowRunnable implements Runnable { private int index = 1; private final sta 阅读全文
posted @ 2021-03-14 16:41 chenzufeng 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 为什么需要回收 垃圾回收(Garbage Collection,GC),顾名思义就是释放垃圾占用的空间,防止内存泄露。有效的使用可以使用的内存,对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。 每一个Java程序中的对象都会占用一定的计算机资源,最常见的,如:每个对象都会在堆空间上申请一 阅读全文
posted @ 2021-03-12 23:22 chenzufeng 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域: Java虚拟机由三个子系统构成,分别是类加载子系统、JVM运行时数据区和执行引擎。类加载子系统将硬盘上的字节码文件加载进内存,JVM运行内存有一套自己的结构划分如图所示,最终程序要运行,需要操作系 阅读全文
posted @ 2021-03-12 23:05 chenzufeng 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 排序效率对比 冒泡排序 将数组中相邻的两个数进行比较,较小的数值向下沉,数值比较大的向上浮。 算法实现 package sort; public class BubbleSort { /** * 设置标志位needNextPass,如果发生了交换needNextPass设置为true;如果没有交换就 阅读全文
posted @ 2021-03-12 21:42 chenzufeng 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 创建型模式 提供了一种在创建对象的同时,隐藏创建逻辑的方式,而不是使用new运算符直接实例化对象。这使得程序在判断,针对某个给定实例,需要创建哪些对象时,更加灵活。 工厂模式 单例模式 结构型模式 关注类和对象的组合。 代理模式 装饰器模式 代理模式和装饰器模式的区别 对装饰器模式来说,装饰者(de 阅读全文
posted @ 2021-03-12 15:11 chenzufeng 阅读(49) 评论(0) 推荐(0) 编辑