自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 单例详解

单例是日常开发最常见的设计模式.重点有三个1.构造器私有化.2.必须自行创建这个实例,通过static变量保存这个唯一的实例3.向外提供唯一的实例,直接暴露静态属性 或者通过暴露静态方法获取单例.主要有饿汉式和懒汉式.饿汉式:1.直接实例化单例.2.枚举(jdk1.5后加的)创建一个枚举对象,天生的单例枚举是目前单例的最优选择,私有化构造方法并不是最安全的,有权限的客户端...

2020-04-06 16:11:34 122

原创 Java自增和赋值机制面试题

public static void main(String args[]){1 int i = 1;2 i=i++;3 int j = i++;4 int k = i + ++i *i++;System.out.println("i="+i);System.out.println("j="+j);System.out.println("k="+k);}先说结果i=4;j=...

2020-04-06 14:43:35 302

原创 Redis相关问题

一般的业务流程是:取数据的时候先到redis中查看是否存在.如果redis存在则返回如果redis中的数据并不存在则去数据库中查若取到则将这个数据放到redis并返回 没取到就知道返回空一般来说,redis是用来缓解数据库访问压力,并且数据在内存中的访问效率要比在数据库中快的多.Redis缓存穿透如果我们访问一个数据库中一定不存在的数据(恶意攻击)就会发生缓存穿透(例如用户表的...

2020-04-05 15:22:46 193

原创 235. 二叉搜索树的最近公共祖先

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,...

2019-09-21 00:01:52 133

原创 234.回文链表

请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindrome-linked-list著作权归领...

2019-09-19 20:09:26 91

原创 232. 用栈实现队列

使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2);queue.peek(); // 返回 1queue.pop(); ...

2019-09-19 13:38:15 67

原创 226. 翻转二叉树

翻转一棵二叉树。示例:输入: 4/ 2 7/ \ / 1 3 6 9输出: 4/ 7 2/ \ / 9 6 3 1备注:这个问题是受到 Max Howell 的 原问题 启发的 :谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。来源:力扣...

2019-09-19 10:18:43 89

原创 219. 存在重复元素 II

给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。示例 1:输入: nums = [1,2,3,1], k = 3输出: true示例 2:输入: nums = [1,0,1,1], k = 1输出: true示例 3:输入: nums = [1,2,3,1,2,3]...

2019-09-11 10:39:02 85

原创 217. 存在重复元素

给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true来源:力扣(LeetCode)链接:https://l...

2019-09-11 08:49:10 86

原创 206. 反转链表

反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list著作权归...

2019-09-10 21:08:36 98

原创 205. 同构字符串

给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = “egg”, t = “add”输出: true示例 2:输入: s = “foo”, t = “bar”输出: false示...

2019-09-10 16:31:27 128

原创 203. 移除链表元素

删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5递归:class Solution {public ListNode removeElements(ListNode head, int val) {if(head==null) ...

2019-09-09 14:05:14 57

原创 java中为什么byte的取值范围是-128到+127 转

概念:java中用补码表示二进制数,补码的最高位是符号位,最高位为“0”表示正数,最高位为“1”表示负数。正数补码为其本身;负数补码为其绝对值各位取反加1;例如:+21,其二进制表示形式是00010101,则其补码同样为00010101-21,按照概念其绝对值为00010101,各位取反为11101010,再加1为11101011,即-21的二进制表示形式为11101011步骤:1、...

2019-09-08 18:20:50 109

原创 202. 快乐数

编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。示例:输入: 19输出: true解释:12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + 02 = 1...

2019-09-08 15:23:30 87

原创 198. 打家劫舍

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号...

2019-09-08 14:55:42 72

原创 189.旋转数组

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99] 和 k...

2019-09-07 15:09:11 127

原创 Mysql group by 和 having 转载

group by的常规用法group by的常规用法是配合聚合函数,利用分组信息进行统计,常见的是配合max等聚合函数筛选数据后分析,以及配合having进行筛选后过滤。聚合函数maxselect max(user_id),grade from user_info group by grade ;这条sql的含义很明确,将数据按照grade字段分组,查询每组最大的user_id以及当前...

2019-09-06 15:42:24 111

原创 175. 组合两个表

表1: Person±------------±--------+| 列名 | 类型 |±------------±--------+| PersonId | int || FirstName | varchar || LastName | varchar |±------------±--------+PersonId 是上表主键...

2019-09-06 10:37:15 90

原创 172. 阶乘后的零

给定一个整数 n,返回 n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释: 3! = 6, 尾数中没有零。示例 2:输入: 5输出: 1解释: 5! = 120, 尾数中有 1 个零.说明: 你算法的时间复杂度应为 O(log n) 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/factorial-trai...

2019-09-04 10:25:40 70

原创 171. Excel表列序号

给定一个Excel表格中的列名称,返回其相应的列序号。例如,A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28 ...示例 1:输入: “A”输出: 1示例 2:输入: “AB”输出: 28示例 3:输入: “ZY”输出: 701来源:力扣(LeetCode)链接:https://l...

2019-09-03 15:12:02 153

原创 java内部类笔记

摘自java编程思想 p205如果我们要同时实现接口A,和接口B.根据接口的特性,我们可以同时实现A和B,也可以通过内部类的方法实现,让类X实现接口A,然后X的方法内用内部类返回接口B.但是要是如果要我们同时实现的A和B不是接口,而是普通的类或者抽象类.想要达到需求只能通过内部类的方式实现,让X继承自A,然后在X的方法体内用内部类返回B....

2019-09-02 19:50:56 83

原创 169. 求众数

给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majority-elemen...

2019-09-02 15:56:03 219

原创 HashMap的四种遍历方法

Map<Integer,String> map = new HashMap<>();map.put(1,“一”);map.put(2,“二”);map.put(3,“三”);map.put(4,“四”);第一种:通过map.keySet()方法获取到key的集合,然后根据key遍历map.for(Integer key:map.keySet() ){key ...

2019-09-02 14:15:37 259

原创 168. Excel表列名称

给定一个正整数,返回它在 Excel 表中相对应的列名称。例如,1 -> A2 -> B3 -> C...26 -> Z27 -> AA28 -> AB ...示例 1:输入: 1输出: “A”示例 2:输入: 28输出: “AB”示例 3:输入: 701输出: “ZY”来源:力扣(LeetCode)链接:https:/...

2019-09-01 17:06:54 86

原创 167. 两数之和 II - 输入有序数组

给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], targe...

2019-08-30 13:56:05 64

原创 155. 最小栈

设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minS...

2019-08-29 23:30:23 53

原创 设计模式-工厂设计模式

简单工厂:将目标的创建委托给工厂目的:将客户程序从具体类解耦.假如有两个游戏:Cs 和Cf.public interface Game{void play();}class Cs implements Game{public void play(){syso"射击";}}class Cf implements Game{public void play(){syso"充钱...

2019-08-28 21:12:31 68

原创 设计模式-适配器

摘自 java编程思想 177p需求:现有处理器类Processor.滤波器类型Waveform,filter,两者的接口方法类似,名字相同,返回值不同.因为Apply.process方法和Processor耦合过紧,滤波器无法复用.适配器:维护一个已有的接口(在本例中为Fliter接口),为了能够服用Apply.process方法,需要适配器实现(implements)目标接口.解决方...

2019-08-27 17:45:43 147

ExcelPoiUtils

java工具类

2022-06-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除