- 博客(34)
- 收藏
- 关注
原创 19.7.2剑指offer
4.重建二叉树题目: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路:前序遍历的第一个节点是根节点。这样可以根据中序遍历中根节点的位置将二叉树分成两个字树(左子树、右子树)递归代码:...
2019-07-02 19:15:10 165
原创 19.7.1剑指offer
1.二维数组中的查找题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:由于二维数组按照顺序排列,所以可以选择从右上角或者左下角进行判断的开始以右上角为例,左边的值小于它,下一行的值大于它,所以如果target>x,则row++;若小...
2019-07-01 17:17:40 136
原创 LOGBACK笔记
Log4自定义Appender介绍 https://www.cnblogs.com/grh946/p/5977046.htmlLog4j使用的方法: https://www.cnblogs.com/grh946/p/5977200.html
2019-06-03 11:29:59 123
原创 Spring中Bean的作用域及生命周期
参考文章:Spring中Bean的作用域、生命周期:https://www.cnblogs.com/zhanglei93/p/6231882.htmlSpring Bean的生命周期(非常详细):https://www.cnblogs.com/zrtqsk/p/3735273.htmlJava面试–Spring中的Bean的作用域和生命周期:https://blog.csdn.net/we...
2019-04-22 00:33:53 241
转载 京东后台面试
1.自我介绍。2.画出项目的架构图,对每层进行解释,为何用MVC分层。3.exception异常处理结构,常见异常,多catch处理顺序。4.对多个表的操作,用事务操作如何实现,写代码5.maven了解吗6.死锁OPPO面筋集合14题:https://blog.csdn.net/weixin_39345957/article/details/890004407.tomcat如何部署...
2019-04-21 20:22:40 383
原创 LeetCode刷题——190416
LeetCode104二叉树的最大深度题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。思路:递归代码: public int maxDepth(TreeNode root) { if(root==null) return 0; int l...
2019-04-16 19:03:26 109
原创 LeetCode刷题——190415
LeetCode107.二叉树的层次遍历题目:给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)思路1:不需要使用栈,通过链表的方式res.add(0,list);//list表示对每层节点的处理代码1: public ArrayList<ArrayList<Integer>> levelOrd...
2019-04-15 22:20:15 98
转载 java中this和super的用法总结
JAVA中this和super用法 https://www.cnblogs.com/yyy6/p/8976584.htmlJava中this和super关键字的用法:https://blog.csdn.net/lanmuhhh2015/article/details/79030784this:使用this引用成员变量/方法(this.a=a;)引用其他构造方法(this必须放在第一行...
2019-04-15 17:33:51 147
原创 HashMap和HashTable
HashMaphashmap的数据结构HashMap的本质是一个数组,数组的每个索引被称为桶,每个桶里放着一个单链表 (jdl1.6,1.7中hashmap由位桶+链表实现;jdk1.8以后HashMap采用位桶+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树)Java中HashMap底层实现原理(JDK1.8)源码分析:https://blog.csdn.net/tu...
2019-04-15 17:10:50 254
原创 LeetCode刷题——190412
LeetCode115.不同的子序列题目:给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是思路:代码:...
2019-04-12 22:16:49 122
原创 LeetCode刷题——190311
LeetCode 2 :两数相加题目:思路:注意:1.返回值类型是一个节点ListNode;代码: public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode result = new ListNode(0); ListNode p=l1,q=l2...
2019-04-11 16:59:06 76
原创 LeetCode刷题——190410
LeetCode116 填充每个节点的下一个右侧节点指针题目给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,...
2019-04-10 22:17:12 108
原创 关于String类中的hashcode的相关整理
为什么JavaString哈希乘数选择31? 31是奇素数(可以充分利用原始数据包含的信息) 哈希分布比较均匀。偶数的冲突率很高,只有少数例外。小乘数(1-20)的冲突率也很高 哈希计算很快。选用31是JVM的一种优化。位移和减法操作比乘法操作快速 31*hash=(hash<<5)-hash; 31和33的计算速度和哈希分布基本一致,整体表现好(大于31,33的奇...
2019-04-10 17:54:37 269
原创 携程面筋
1线程和进程的区别2从浏览器输入网址到出现网页发生了什么整个过程大概可以分为两大步:网络通信和页面渲染 网络通信(遵循TCP/IP协议)在浏览器中输入url。应用层DNS解析域名应用层客户端发送HTTP请求传输层TCP传输报文(三次握手)网络层IP协议查询MAC地址数据到达数据链路层,经过链路层进行传输(客户端发送请求阶段结束)服务器响应请求。响应报文中重要信息:响应状...
2019-04-09 19:50:12 254 1
原创 .do文件学习
基本概念和入门案例SpringMVC详解(二)------详细架构:https://www.cnblogs.com/ysocean/p/7375405.htmlSpringMVC详解(三)------基于注解的入门实例:https://www.cnblogs.com/ysocean/p/7400987.html遇到问题:1. 什么是.do文件 以do为扩展名的网页文件是java...
2019-04-09 17:52:01 4110 1
原创 携程编程题汇总
18.05.16题目1:给定一个整形数组,将数组中所有的“0”移动到末尾,非0项保持不动,在原数组上进行移动,勿创建新数组。输入:第一行为数组长度,后续每一行为数组的一条记录输出:调整后的数组内容样例:输入: 40 702输出7200思路:代码:...
2019-04-08 18:06:53 496
原创 LeetCode刷题——190325
Leetcode140.单词拆分Word-break-ii题目:给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子思路:1.尾部追加法我想到了要用递归去做,但是我的想法是从头递归!此处从尾递归效率更高。除此之外,我的想法不是很能处理ArrayList的追加操作。我一开始的想法是...
2019-04-06 15:47:46 227
原创 LeetCode刷题——190403
LeetCode119杨辉三角Ⅱ题目:给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。思路:构建一个一维数组:从第一层开始往下计算,每层从最后一个数开始计算代码: public ArrayList<Integer> getRow(int rowIndex) { ArrayList<Integer> res = new A...
2019-04-03 20:42:25 118
原创 OPPO面筋集合
1.Java有哪几种类型1、基本类型:int 二进制位数:32包装类:java.lang.Integer最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)最大值:Integer.MAX_VALUE= 2147483647 (2的31次方-1)2、基本类型:short 二进制位数:16包装类:java.lang.Short最小值:Short...
2019-04-03 18:08:54 723
原创 LeetCode刷题——190402
LeetCode122题目:思路:代码:LeetCode123题目:给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。思路1:构建两个数组,分别表示从第一天开始卖,只卖一次可以取得的最大值;从最后第i天开始第二次卖可能达到的最大...
2019-04-02 18:48:09 194
原创 LeetCode刷题——190323
Candy题目:有n个孩子排成一排,为每个孩子分配一个等级。你分配给这些孩子的糖果需要符合以下要求:1.每个孩子至少要有一颗糖果;2.等级高的孩子要比他们的邻居得到更多的糖果。你最少需要给多少颗糖果。思路:遍历两遍。先从左往右遍历,再从右往左.我的思路只想到了一个方向上的扫描,不能保证双向最大。必须保证大于左右节点(双向)的等级,candy[i]最大,所以要双向扫描代码: pu...
2019-04-01 22:21:09 205
原创 mysql数据库引擎常用面试总结
Mysql 四种存储引擎存储引擎的查看 SHOW ENGINESMyISAM引擎基于ISAM存储引擎,并对其进行了扩展。是mysql的默认数据库引擎。不支持事务处理,行级锁,外键,但是是唯一支持表压缩和全文索引的存储引擎。插入和更改表的效率较为低下(默认是锁定整张表),但是区别于 InnoDB,MyIASM中存储了表的行数,所以SELECT*时只需要直接读取已经存好的值而不需要全表扫描...
2019-04-01 22:13:04 376
原创 LeetCode刷题——190322
Work-break题目Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words.For example, given s =“leetcode”, dict =...
2019-04-01 22:12:56 91
原创 剑指offer刷题---190401
1.包含min函数的栈题目定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))思路既要实现复杂度为o(1)的min功能,也要完成stack特有的push,pop功能。所以一个栈不可以同时实现,需要借助一个辅助栈来完成。 push:datastack正常压入node;minstack压入最小值 pop:datastack正常弹出,mins...
2019-04-01 17:28:22 173
原创 大话设计模式——第一~五章
1. 简单工厂模式简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。具体实现包括:一个简单工厂类实现简单工厂类的具体方法类实现方法类的多个具体方法...
2019-04-01 11:21:48 124
原创 Leetcode刷题——190327
LeetCode127题目给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复...
2019-03-27 20:33:50 129
转载 Java数据结构——红黑树
红黑树的插入操作红黑树规定:新插入的节点一律为红色 旨在简化树的自平衡操作插入的几种情况我们约定 X 为插入的结点,P 为 X 的父结点,G 为 X 的祖父结点,U 为 X 的叔叔结点。新插入的节点X是根节点 新插入节点为红色 变色新插入节点X的父节点P是黑色 如果X<P,直接插入 如果X>P,插入右侧,左旋并变色父节点P是红色,同时存在叔叔节点...
2019-03-27 12:25:28 160
原创 《后台开发核心技术与应用实践》第二章:面向对象
2.1类与对象 一.类与对象 面向对象编程的主要思想:把构成问题的各个事物分解成各个对象;建立对象的目的是为了描述一个事物在解决问题中经过的步骤和行为类:创建对象的模板(具有相同结构和特性的对象的抽象的集合)对象:是类的实例,按照类的规则创建。(对象是程序的基本单元,将程序和数据封装在其中,提高代码的重用性、灵活性和扩展性) 属性:是一个变量,用来描述一个对象的特征 方法:是...
2019-03-27 09:27:38 226
原创 (学习笔记)Spring MVC设计模式
Spring MVC设计模式1.JavaEE的开发流程用Servlet实现流程的缺点:Servlet不擅长显示(前端)Servlet访问数据库的代码不适合重用;用Jsp实现流程的缺点jsp适合显示不适合大量在jsp页面中编写访问数据库的java代码MVC设计模式客户端发送请求到服务器,服务器调用servlet作为控制器Servlet作为逻辑处理的控制器,...
2019-03-26 21:12:55 203
原创 LeetcCode刷题---190326
这里写自定义目录标题LeetCode 130被围绕的区域题目:思路代码LeetCode 129 求跟到叶子节点数字的和题目:思路代码LeetCode674 最长连续递增序列题目:思路:代码LeetCode128 最长连续序列题目思路代码LeetCode 130被围绕的区域题目:给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。找到所有被 ‘X’围绕的区域,并将这些区域里所有的 ‘...
2019-03-26 18:29:02 390
原创 Collection和Collections的区别
1.java.util.Collection 是一个集合接口。提供了对集合对象进行基本操作的通用接口方法,在java类库中有许多的具体实现。Collection接口的意义:为各种具体的集合类提供了最大化的统一操作。其直接继承接口有:List和Set。Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└Set2.Collect...
2019-02-27 16:24:38 134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人